Bonjour,
Je travaille actuellement sur un projet vb.net 2005 avec une base SQL Server 2005 Express.
J'ai constaté que toutes mes requêtes étaient systématiquement longues à éxécuter au premier lancement et beaucoup plus rapide les fois suivantes (durant la même exécution de l'application). 3 à 4 fois plus rapide, aussi bien sur des requêtes complexes style Select avec de très nombreuses jointures que sur des requêtes simples d'insert ou d'update...
Après recherche, j'ai appris qu'à chaque exécution d'une requête, SqlServer effectuait un travail de statistique pour réaliser le meilleur plan d'exécution possible.
D'où le titre de ce sujet, Y-t-il un moyen de prémacher ce travail de préparation des plans d'exécution ? Pourquoi d'une exécution de l'application à une autre, ce travail est-il systématiquement refait ? Les requêtes sont souvent les même, pourquoi refait-il ce travail ?
Y-t-il d'autres optimisations ou paramétrage de base auxquels je n'aurais pas pensé ? outre la création d'index sur les clés primaires et les clé étrangères...
Merci d'avance
Johann
Partager