Pb Temps execution requête SQL |
Sujet: Pb Temps execution requête SQL par Sogestion sur 21/7/2007 15:29:04 Bonjour, Je me pose des questions quant a l'utilisation des requetes SQL Ayant constaté a différentes reprises un allongement du temps d'exécution entre le test d'une fenêtre ou du projet et celui au départ de l'exécutable, j'ai effectué un contrôle par l'analyseur de performance < AnalyseurDébut("Test_Execution.wpf") > qui confirme à l'evidence la mise en cause des ordres SQL Ce qui est le plus frustrant c’est le constat qui résulte des données de l’analyse de performance tant en mode test que exécutable et ou la comparaison des temps d’exécution est pour le moins surprenante dans l’importance des écarts La fenetre testée utilise dans une boucle une Requête SQL qui récupère toutes les données nécessaires et qui fonctionne très bien. // [< Code de la requête >] sCodeSQL = [ SELECT Encours.[IDValeur],[NomValeur],[IDSecteur],[IDPays], SUM([QteAchat] - [QteVente]) AS nQte FROM ValBours,Encours WHERE ValBours.[IDValeur] = Encours.[IDValeur] AND [DateMvt] <= '%1' GROUP by [NomValeur],[IDValeur],[IDSecteur],[IDPays] HAVING SUM(QteAchat - QteVente ) > 0 ORDER by [NomValeur] ] EN MODE TEST Fonction Temps Nbre Temps total appels 1Appel De AnalyseurDébut() à AnalyseurFin() 587 ms 1 587 ms Procédure locale EvaluationPortefeuille 309 ms 1 309 ms Procédure locale EvalValeurAchat 159 ms 58 2 ms HExécuteRequêteSQL() 139 ms 58 2 ms EN MODE EXECUTABLE De AnalyseurDébut() à AnalyseurFin() 1s715 ms 1 1s715 ms Procédure locale EvaluationPortefeuille 1s151 ms 1 1s151 ms Procédure locale EvalValeurAchat 991 ms 58 17 ms HExécuteRequêteSQL() 836 ms 58 14 ms On passe donc de 2 ms en mode test a 14 et 17 ms en mode exécutable. J'ai effectué ce test dans différentes fenêtres qui utilise des requêtes SQL et le constat ce confirme partout : allongement du temps d'exécution au départ de l'exécutable. Je cherche une explication et surtout le moyen de conserver autant que faire ce peut les temps d'exécution du mode test. Merci d'avance de vos conseils ou de vos pistes. Cordialement Albert |