2009-08-17 16 views
8

Hola compañeros programadores. Tengo una consulta de SQL Server 2005 que tarda mucho tiempo en procesarse por primera vez. Después de la primera ejecución, la consulta funciona mucho más rápido. Va de un minuto a un segundo.SQL Server 2005 Cómo se borra un plan de ejecución de consultas

Sé que SQL Server está almacenando en caché un plan de ejecución (¿es ese el término correcto?). Lo que quiero hacer es aclarar este plan de ejecución para poder replicar mejor el problema. Estoy intentando sintonizar la consulta.

¿Alguien sabe si esto es posible y cómo hacerlo?

Gracias de antemano

Respuesta

16

Si desea borrar entonces:

DBCC FreeProcCache 
DBCC DropCleanbuffers 

Si lo que desea es forzar una recompilación consulta cada vez, a continuación, agregar una sugerencia de consulta a Al final de la consulta:

OPTION (RECOMPILE) 
1

DBCC FREEPROCCACHE

3

Esto es lo que corro cuando quiero borrar r ellos

DBCC freeproccache 
DBCC dropcleanbuffers 
go 

Si estoy probando el rendimiento de una consulta por lo general sólo pasta que en la parte superior de la consulta por lo que cada vez que se ejecuta su funcionamiento con una clara caché.

2

Tenga cuidado: a veces las consultas se ejecutan más rápido la segunda vez porque el servidor ya ha hecho el disco IO y todavía tiene tablas en la RAM. Considere considerar los costos de IO en el plan de ejecución.

Cuestiones relacionadas