ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: Optimisation d'une requete   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

sam. 07 novembre 2015, 14h39

Francis Faure
France France

atoutfox.public.association

Re: Optimisation d'une requete

Bonjour A.MAHALLA

je tente une proposition de réponse à ta question :

A vue de nez : (sans avoir testé) si ta table "table1" a un seul index et de type "candidat" comme décrit dans la question
il ne faudrait pas le alltrim() dans la requête mais le nom du champ à tester sur une variable au bon format
cela devrait diviser drastiquement les temps grâce à rushmore

donc ta requête devrait être :
SELECT * FROM table1 WHERE MATRICULE ==m. nmatricule INTO CURSOR cCurseur


cela suppose que la variable : " m. nmatricule " contienne exactement ce qui est recherché
cela devrait très grandement optimiser le temps de requete (car plus de parcours de l'ensemble des records)

cordialement
Francis


Le sam. 07 novembre 2015, 12h51 alahem1 a écrit :
>
> Bonjour,
>
> J'ai une table de laquelle j'essaye d'extraire des enregistrements(généralement un seul).
>
> table => table1
>
> taille de table1 => 400 000 enr. ; 130 500 Ko en dbf ; 14 900 Ko en CDX
>
> index candidat => matricule
>
> L'extraction des données :
>
SELECT * FROM table1 WHERE alltrim(matricule) = nmatricule INTO CURSOR cCurseur

>
> temp mis = 2,15 s
>
> Comment optimiser l'ecriture de ma requete afin de diminuer le temp de reponse?
>
> Merci pour toutes vos suggestions
>
> Bonne journée.
>
> A.MAHALLA



Permalink : http://www.atoutfox.org/nntp.asp?ID=0000016856
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3