OVH Cloud OVH Cloud

Lenteur accès db, est ce que je fais ça correctement ?

2 réponses
Avatar
Hasan Ozdil
Oui, c'est de nouveau le d=E9butant que je suis qui s'interroge :)

Imaginons, que j'ai un fichier clients et un fichier factures

21.000 clients et 43000 factures

Lorsque j'ouvre un client, j'aimerais avoir un tableau avec la liste de
ses factures...

Un Grand Classique en somme ...

Mais voici mon probl=E8me : C'est Lent

Voila ce que je fais :

Dans l'Initialisation de ma fen=EAtre

HLitRecherchePremier(Clients, IdClient, MonClient)
FichierVersEcran()

Dans l'initialisation de la table des factures

Moimeme..Filtre =3D MonClient
TableTrie(Moimeme, "-Date")

J'ai essay=E9 avec une requ=EAtes int=E9gr=E9e pour =E9viter le tri sur la
date et le filtre mais =E7a ne marche pas vraiment mieux

D=E8s que j'enl=E8ve soit le filtre soit le tri c'est instantan=E9, mais
d=E8s que je dois mettre les deux traitements c'est foutu

Quelqu'un aurait il une id=E9e, ou une critique par rapport =E0 cette
m=E9thode?

Merci
Hasan

2 réponses

Avatar
JeAn-PhI
Dans son message précédent, Hasan Ozdil a écrit :
Oui, c'est de nouveau le débutant que je suis qui s'interroge :)

Imaginons, que j'ai un fichier clients et un fichier factures

21.000 clients et 43000 factures

Lorsque j'ouvre un client, j'aimerais avoir un tableau avec la liste de
ses factures...

Un Grand Classique en somme ...

Mais voici mon problème : C'est Lent

Voila ce que je fais :

Dans l'Initialisation de ma fenêtre

HLitRecherchePremier(Clients, IdClient, MonClient)
FichierVersEcran()

Dans l'initialisation de la table des factures

Moimeme..Filtre = MonClient
TableTrie(Moimeme, "-Date")

J'ai essayé avec une requêtes intégrée pour éviter le tri sur la
date et le filtre mais ça ne marche pas vraiment mieux

Dès que j'enlève soit le filtre soit le tri c'est instantané, mais
dès que je dois mettre les deux traitements c'est foutu

Quelqu'un aurait il une idée, ou une critique par rapport à cette
méthode?

Merci
Hasan



quel base HF ?
dans votre exemple la table facture est parcouru selon la clé client ?

essaye ca peut être (vérifie la syntaxe car code tapé à la volée)
table mémoire sur les facture (tbl_fac)
tablesupprimetout(tbl_fac)
pour tout facture avec idclient = monclient
tableajouteligne(tbl_fac,.........)
fin
tabletri(tbl_fac,"-date")

--
Cordialement JeAn-PhI
Avatar
Réal Phil
Ça devrait donner des résultats quasiment instantané en utilisant
HFiltre(). En tous cas avec les fichiers Hyper File c'est très rapide.

Pas besoin de HLitRecherche() ni de FichierVersEcran()

Créer la table des factures au bas de la fenêtre fichie du client et
faire remplir automatiquement.

Dans l'initialisation de la fenêtre, ajouter le code
HFiltre(MesFactures,IdClient,MonClient)
... et c'est tout.