Duda con el optimizador de índices.

08/02/2004 - 19:46 por Víctor | Informe spam
Hola.

Tengo una dudilla de cómo trabaja el optimizador de índices.

En el Analizador de consultas escribo una consulta, y entonces ejecuto el
optimizador. Le quito que mantenga los índices existentes, que utilize las
vistas indexadas, y un análisis exhaustivo. En la caraga de trabajo, dejo la
que hay por defecto (selección del Analizador de consultas SQL), y en las
tablas, marco las que utilizao en la consulta.

Lo he probado con dos consultas diferentes, y en una me dice que ponag un
índice, y en la segunda que lo quite. ¿Puede ser eso?

Otra pregunta: supongo que la propuesta no es la mejore de todo todito,
porque a mi se me ha ocurrido un indice que ha hecho que una consulta pase
de 9' a 2'.

Una última consulta: al lanzar el plan de ejecución, la primera frase pone:
"costo de la consulta (en relación al proceso de lotes): 100%"
supongo que cuanto más bajo es el %, mejor, ¿no?

Muchas gracias.
 

Leer las respuestas

#1 Maximiliano d. Accotto
08/02/2004 - 19:57 | Informe spam
Victor:

mira el asistente en principio lo que hace es un analisis teorico (si lo
configuras como vos decis) de lo que podria mejorar en esa consulta, por lo
cual esto varia de Consulta en consulta y es muy probable que una necesite
un indice y la otra no.

Esto tambien si quieres lo puedes no hacer sobre una consulta en si sino
sobre la carga real del servidor (esto lo podrias capturar por ej durante
todo un dia,semana o lo que te guste y luego en otro servidor hacer los
cambios de tunnig)

Lo que debes ver en el plan de ejecucion basicamente es:

Que no haga Scan (Table Scan,index Scan) un Scan es ir registro por registro
y comparar con lo que buscas, por lo cual es donde mas se demora la cosa, lo
que debes buscar es que haga Seek.

Otra cosa que debes ver es el tiempo empleado por el CPU (ojo que esto puede
variar dependiendo del Servidor)
Otra cosa tambien son las I/O, esto te puede dar una idea tambien.

Con estas cosas podras asegurarte buenos rendimientos quizas.

Si te interesa ver un poco mas podrias revisar este link:

www.portalsql.com, donde encontraras una serie de Articulos muy interesantes
sobre dicho tema. Tambien puedes ir a la pagina de Microsoft donde se
encontrara mucha informacion.

Salu2

Maxi





"Víctor" escribió en el mensaje
news:quvVb.3248063$
Hola.

Tengo una dudilla de cómo trabaja el optimizador de índices.

En el Analizador de consultas escribo una consulta, y entonces ejecuto el
optimizador. Le quito que mantenga los índices existentes, que utilize las
vistas indexadas, y un análisis exhaustivo. En la caraga de trabajo, dejo


la
que hay por defecto (selección del Analizador de consultas SQL), y en las
tablas, marco las que utilizao en la consulta.

Lo he probado con dos consultas diferentes, y en una me dice que ponag un
índice, y en la segunda que lo quite. ¿Puede ser eso?

Otra pregunta: supongo que la propuesta no es la mejore de todo todito,
porque a mi se me ha ocurrido un indice que ha hecho que una consulta pase
de 9' a 2'.

Una última consulta: al lanzar el plan de ejecución, la primera frase


pone:
"costo de la consulta (en relación al proceso de lotes): 100%"
supongo que cuanto más bajo es el %, mejor, ¿no?

Muchas gracias.


Preguntas similares