SQL Server - Optimizacion de consultas sql

 
Vista:
sin imagen de perfil

Optimizacion de consultas sql

Publicado por Eduardo (3 intervenciones) el 01/10/2014 22:00:51
Tengo estas 2 consultas que necesito optimizar, el plan de ejecucion a generado lo siguiente
primera consulta

Presentacion2


segunda consulta
consulta2

su apoyo con lo indicado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Optimizacion de consultas sql

Publicado por Isaias (4558 intervenciones) el 02/10/2014 04:33:33
¿Qué índices tienes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Optimizacion de consultas sql

Publicado por eduardo (3 intervenciones) el 02/10/2014 05:23:02
No tienen indices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Optimizacion de consultas sql

Publicado por Isaias (4558 intervenciones) el 02/10/2014 17:29:40
Bueno, entonces ya tienes la respuesta, la lentitud se debe a la nula declaración de índices, el motor esta barriendo de forma secuencial tus tablas.

La regla para crear un indice es:

"Todas las columnas precedidas al filtro WHERE, son candidatas a ser un INDICE"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Optimizacion de consultas sql

Publicado por Eduardo (3 intervenciones) el 02/10/2014 17:43:49
como harias para la primera consulta crearle un indice o replantear ese query sin indices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Optimizacion de consultas sql

Publicado por Isaias (4558 intervenciones) el 02/10/2014 23:41:58
Ya te dije, la regla es: bla, bla, bla.... (CoNave) debe ser índice

Si deseas hacer un query en tablas sin INDICES, es como comprar un FERRARI y correrlo a 30 KM x Hora, ¿me explico?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Optimizacion de consultas sql

Publicado por jams (93 intervenciones) el 03/10/2014 20:39:22
Hola en tus comentarios mencionas que no tienes indices y en el plan de ejecución se ve que ambas tablas involucradas tienen un indice de llave primaria (que no sabemos cuales campos la compongan)

para la primera consulta

ambas tablas viaje y ruta deberían tener in indice por por coruta
la tabla ruta debería tener in índice por NoOrigen

una vez que se crearon los indices anteriores podrías replantear tu query intenta esto

en la pregunta de


r.NoOrigen not like 'E%' podrías poner left(r.NoOrigen) <> 'E'



Saludos y Suerte !!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Optimizacion de consultas sql

Publicado por Isaias (4558 intervenciones) el 07/10/2014 01:32:03
Es 100% correcto, todas las PK (llaves primarias) siempre serán el INDICE CLUSTERED.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar