8
votes

SQL Server 2005 Comment effacer un plan d'exécution de requête

Bonjour les programmeurs. J'ai une requête SQL Server 2005 qui prend beaucoup de temps pour traiter la première fois. Après la première exécution, la requête fonctionne beaucoup plus rapidement. Cela va d'une minute à une seconde.

Je sais que SQL Server met en cache un plan d'exécution (est-ce le bon terme?). Ce que je veux faire, c'est préciser ce plan d'exécution afin que je puisse mieux reproduire le problème. J'essaie d'accorder la requête.

Est-ce que quelqu'un sait si cela est possible et comment le faire?

Merci d'avance


0 commentaires

4 Réponses :


1
votes

DBCC FreeProccaccache


0 commentaires

16
votes

Si vous voulez l'effacer, alors:

OPTION (RECOMPILE)


0 commentaires

3
votes

C'est ce que je courais quand je veux quand je veux les effacer xxx

si je suis en train de tester une requête I d'une requête que je colle habituellement qu'au sommet de la requête alors à chaque fois que ça marche sa course avec une cache claire.


0 commentaires

2
votes

Être averti: Parfois, les requêtes fonctionnent plus vite la deuxième fois parce que le serveur a déjà effectué le disque IO et a toujours des tables dans la RAM. Envisager de regarder les coûts IO dans le plan d'exécution.


0 commentaires