SQL Server - Optimizar consulta SQL

   
Vista:

Optimizar consulta SQL

Publicado por Antonio (4 intervenciones) el 14/01/2013 14:26:44
A ver si algún experto en consultas SQL que haya por el foro me puede echar una mano. Tengo una consulta, a priori sencilla, pero que tarda unos 5 segundos cada vez que se ejecuta. Como la llamada a la consulta está dentro de un bucle de mi aplicación, si hay que hacer por ejemplo 6 iteraciones tarda como 30 segundos, con lo cual los usuarios se quejan continuamente de la lentitud de la aplicación. La consulta es la siguiente, para que os hagais una idea:

SELECT id, campo2, campo3, campo4, fecha, .......
FROM tabla1
WHERE (id = @id) AND (fecha>=@fechainicio) AND (fecha<@fechafin)

He probado en lugar de hacer la comparación de fechas con el >= y el < , hacerlo con un BETWEEN pero no veo que el sistema vaya más rápido

SELECT id, campo2, campo3, campo4, fecha, .......
FROM tabla1
WHERE (id = @id) AND (fecha BETWEEN @fechainicio AND @fechafin)

¿Existe alguna forma de optimizar la consulta? Tengo que decir que en producción la tabla tiene como 5 millones y medio de registros, probable causa de la lentitud, pero ese es otro tema que tengo que hablar con el cliente. ¿Alguna idea para optimizar la SQL? Un saludo.
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

Optimizar consulta SQL

Publicado por Isaias (3181 intervenciones) el 14/01/2013 17:43:44
1.- Ejecutar tu consulta mediante STORE PROCEDURE
2.- Las columnas ID, FECHA de tu tabla, ¿son 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