Therian
Messages postés7Date d'inscriptionmardi 21 novembre 2006StatutMembreDernière intervention 3 juin 2009
-
4 févr. 2009 à 09:52
Therian
Messages postés7Date d'inscriptionmardi 21 novembre 2006StatutMembreDernière intervention 3 juin 2009
-
6 févr. 2009 à 18:35
Bonjour,
Voilà plusieurs jours que je cherche une solution, parcourant
atoutfox et foxprofr et tombant sur plusieurs messages proposant des pistes intéressantes. Cependant, vu mon niveau sur FoxPro (qui au
début de la semaine était inexistant), je ne parviens pas à tester
certaines de ces solutions.
Voici mon problème :
J'ai une page asp (sur un serveur différent de celui de Foxpro)
qui doit afficher des données depuis la plus importante des tables (dbf
de 776MB) du serveur Foxpro. Quand j'effectue la requête avec l'outil
de Foxpro, le résultat arrive en quelques secondes. En revanche,
sur la page asp, la même requête met 4 min, ce qui est beaucoup pour un affichage intranet.
La table dbf a bien des index, mais je me demandais si ils
étaient bien utilisé via OLEDB. Je suis notamment tombé sur ce post où il est question d'utiliser les commandes en natif comme le SEEK.
J'ai passé mon après midi hier à essayer de comprendre comment cela
fonctionne mais je n'y parviens pas et l'aide sur l'utilisation du VFP
OLEDB (v6) dont j'entends parler partout reste introuvable.
Pourriez vous m'éclaircir sur ce SEEK (ou sur une autre méthode pour optimiser ma requête) ?
pour le collate, il faut comprendre que ce n'est pas "machine" ou rien : il y a de nombreuses séquences de collate (les plus fréquentes en France sont MACHINE, GENERAL, FRENCH) et il te faut savoir sur laquelle tes index ont été construits. Dans 1 premier temps, vérifie les perfs avec GENERAL puis avec FRENCH.
Si ça ne change rien, il te faudra utiliser la fonction IdxCollate() pour retrouver cette séquence dans les tag d'index.
Si ton utilitaire te permet de lancer des commandes Fox et d'en lire le résultat, alors SET("COLLATE") te renvoie le collate courant.
Sur le fond du problème, VFPOLEDB utilise les index exactement de la même façon que VFP.
Je ne serais pas étonné que le problème vienne en effet de la séquence de Collate. Il faudrait vérifier quelle est la séquence qui a été utilisée lors de la création des index, et essayer avec la même séquence dans ta connectstring.
J'ai déjà vu des dégradations de perf de cette importance (et même pire) à cause de ces séquences de collate.
Qu'appelles-tu "l'outil de FoxPro"? tu veux parler de l'interface de développement?
Therian
Messages postés7Date d'inscriptionmardi 21 novembre 2006StatutMembreDernière intervention 3 juin 2009 6 févr. 2009 à 13:49
Pour l'aide, c'est le fichier msm? (si oui, je ne sais pas trop comment le lire)
Pour le collate, comment je l'ai mis, j'ai essayé avec et sans et cel an'a eu aucun effet. Comment puis-je faire pour vérifier la séquence de collate ?
L'utilitaire que j'ai sur foxpro est un petit logiciel fourni par l'éditeur du logiciel fait en foxpro où je peux voir les dbf, leur structure, leurs index et tester des lignes de commandes, mais je n'y ai pas vu d'information sur le collate.
Vous n’avez pas trouvé la réponse que vous recherchez ?