Bonsoir,
j'ai développé une application en VB avec une base de données SQL Server 2000. Cette application a évolué et fonctionne maintenant via le réseau sur des PC distant. Les temps de réponses sont parfois assez long et je me suis donc demandé comment améliorer tout ca. Et là j'ai regardé du coté du cursorlocation. J'ai donc fait un petit test avec cette requete que j'ai chronométré :
résultat 19938ms en moyenne sur 10 tentatives.... très moyen.... (Note printMoi est une fonction qui m'affiche le résultat).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 sql="select idCli, nomCli from client where agence='0155' order by nomCli" rst.open sql,conn,3,1 do while rst.eof=false printMoi (rst.Fields("nom").Value) rst.movenext loop
Je réessaye en rajoutant rst.cursorlocation=aduseclient et là ô surprise 558ms !!! Je n'y croyais pas, je réessaye et si !!! Temps d'exécution divisé par 40 !!!
Donc mon problème de vitesse est réglé mais je me demandais quand meme ce que tout cela impliquait. Si je gagne quelque part, c'est que je doit perdre ailleur. Faut il rajouter autre chose? Est aussi stable? Ca se programme pareil ? Je ne risque rien au niveau de ma base de données?
Merci pour votre aide
Partager