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.
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


0