Cita:
Iniciado por pepelucho buenas, tengo un consulta simple, que paso como parametros el mes y el año, los registros que trae esa consulta es de 108.950 filas, y el tiempo de esa consulta es de 25 segundos, habrá alguna manera para poder optimizar esta consulta, a pesar de que mi tabla tiene 3 llaves y le asignado indices, el ejemplo, de mi consulta es el sgte:
SELECT * FROM TABLA1 WHERE month(CampoFecha) = 3 AND year(CampoFecha) = 2008
/* RESPUESTA */
En primer lugar estimado, es necesario sacar el "select *", no es una buena practica, por otro lado te aconsejo en los from de los select continuar con un nolock, de esta manera tu consulta no bloquera las paginas sql que estas consultando.
Por otro lado es necesario saber si tu base de datos es OLTP u OLAP, si es OLTP lo ideal es que este en unos discos en RAID 1+0, si esta en OLAP, lo ideal es que este en discos en RAID 5. Por otro lado lo que debes ver es si tienes insert, delete o update mientas consultas la tabla, ya que esto si bloquea la tabla y el select debe esperar que un Insert, Delete o Update terminen su proceso.
Si es asi, te aconsejo duplicar la informacion en otra tabla de solo consulta y si puedes en una base de datos de gestion.
Espero te sirva la respuesta, un saludo
CARANCOR