Bonjour a tous,
Je cherche a optimiser le temps de traitement d'une requête:
J'ai créé une requête sur Access pour interroger une base FoxPro, plus particulierement un fichier table de 100'000 lignes.
- la table contient 60 colonnes de champs texte ou numerique. Le fichier table pese 145Mo.
- la table est situé sur serveur (réseau LAN).
- J'ai lié cette table Foxpro sur mon appli cliente Access, par le biais d'ODBC (driver Foxpro installé sur le poste client)
- Lorsque j'affiche simplement le contenu de la table liée, le temps d'affichage est inférieur a 2 secondes.
- Ma requete no.1 ressemble a :
"SELECT table.champ1, ..., table.champ17
FROM table
WHERE table.champ1='LIQ';"
=> Le temps d'exécution de cette requête est de 32 secondes...
Pour accélérer le traitement, j'ai créé une requête SQL directe toujours sur mon appli cliente, car je pensais que l'exécuter depuis le serveur accélererait le temps de traitement.
Résultat: => 32 secondes également.
...apparemment, le SQL direct ici ne change rien...
Et pour comparer:
la base Foxpro est exploité par une autre application installée sur chaque poste client, probablement une interface réalisée sous Foxpro (je connais tres peu Foxpro). Lorsque cette application effectue la même requête, le temps d'exécution parait être de 2 secondes...
Donc, je ne peux me satisfaire d'obtenir les mêmes données que l'autre application en un temps quasi 20 fois plus long.
Quelqu'un pourrait m'éclairer ? Comment réduire ce temps ?
Merci d'avance !! Egalement merci a vous qui avez eu le courage de lire jusqu'au bout !
Partager