Rendimiento de Consultas y Plan Ejecucion

09/01/2008 - 21:11 por Gustavo | Informe spam
Hola. Estoy trabajando con SQL Server 2005.
La primera vez que ejecuto las consultas son lentas y luego mejoran
notablemente.
Mi objetivo es tratar de mejorar la ejecucion inicial de la consulta si
fuese posible.

Entiendo que en la segunda ejecucion la consulta esta en cache o reutilizar
el plan de ejecucion y por ese motivo es el aumento de velocidad.
Como puedo hacer para limpiar ese cache a traves de la consola del SQL. ?
Quiero hacer esto con motivos de pruebas.


Saludos
Atte Gustavo
Resistencia - Chaco - Argentina

Preguntas similare

Leer las respuestas

#1 Anonimo
09/01/2008 - 21:18 | Informe spam
Hola Gustavo,

Prueba ejecutando:

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS

El primero, vacía la caché de procedimientos y el segundo los bufferes de
datos. Es interesante ejecutar CHECKPOINT antes de estos comandos DBCC.

Para comprobar el funcionamiento de tus consultas, te puede servir apoyarte
en:

set statistics io on
set statistics time on

Activando estas opciones, al ver los mensajes de las consultas que ejecutes,
dispondrás de ciertas estadísticas bastante útiles. Yo lo uso en ocasiones,
para ver como varía un plan de ejecución de otro... aunque siendo puristas,
lo recomendable es medirlo con el PROFILER.

Espero te sirva.

Saludos,
GuilleSQL

http://www.guillesql.es


"Gustavo" wrote in message
news:
Hola. Estoy trabajando con SQL Server 2005.
La primera vez que ejecuto las consultas son lentas y luego mejoran
notablemente.
Mi objetivo es tratar de mejorar la ejecucion inicial de la consulta si
fuese posible.

Entiendo que en la segunda ejecucion la consulta esta en cache o
reutilizar el plan de ejecucion y por ese motivo es el aumento de
velocidad.
Como puedo hacer para limpiar ese cache a traves de la consola del SQL. ?
Quiero hacer esto con motivos de pruebas.


Saludos
Atte Gustavo
Resistencia - Chaco - Argentina
Respuesta Responder a este mensaje
#2 Rubén Garrigós
10/01/2008 - 13:27 | Informe spam
Hola Gustavo,

El escenario que comentas es más típico de consultas que realizan muchas
lecturas de páginas que deben traerse de disco que de problemas con la
compilación de la consulta. Las siguientes ejecuciones son más rápidas
debido a que ya están dichas páginas de datos en la caché.

Te recomiendo que examines un poco que hace la consulta, cuantas lecturas
hace (set io statistics on) y su plan de ejecución (activa la opción en el
Management Studio para facilitar su lectura). Para mejorar el arranque en
frío es posible que añadir índices que soporten la consulta sea tu mejor
opción. Es también posible que el culpable no sea la consulta en sí y tengas
que analizar el resto de actividad en el servidor por si la esperanza de
vida en memoria de las páginas es baja.

Un saludo,

Rubén Garrigós
Solid Quality Mentors

"Gustavo" wrote in message
news:
Hola. Estoy trabajando con SQL Server 2005.
La primera vez que ejecuto las consultas son lentas y luego mejoran
notablemente.
Mi objetivo es tratar de mejorar la ejecucion inicial de la consulta si
fuese posible.

Entiendo que en la segunda ejecucion la consulta esta en cache o
reutilizar el plan de ejecucion y por ese motivo es el aumento de
velocidad.
Como puedo hacer para limpiar ese cache a traves de la consola del SQL. ?
Quiero hacer esto con motivos de pruebas.


Saludos
Atte Gustavo
Resistencia - Chaco - Argentina
Respuesta Responder a este mensaje
#3 Gustavo
11/01/2008 - 16:11 | Informe spam
Gracias Ruben y Guille, voy a tener en cuenta sus recomendaciones.

Saludos
Atte Gustavo
Resistencia - Chaco - Argentina
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida