Tiempo de respuesta en SQL Server

Mi problema o duda es la siguiente:
Estoy creando procedimentos almacenados
Y uno de ellos esta involucrado en una consulta (query) que tiene 210.000 registros y ésta se tarda entre 8 y 10 segundos en la respuesta (en entregar los registros seleccionados)...
Existe alguna manera de agilizar una consulta... Ya sea configurando el servidor, etc ...¿?
(La consulta la filtro por intervalos de fecha - where)
En espera de tu respuesta se depisde
Ricardo.-
Pdta: recibo cualquier ayuda en relación a mejorar el tiempo de respuesta.-

4 Respuestas

Respuesta
1
Te doy varias ideas:
* Si tienes SQL 7.0, actualizate a 2000
* Revisa lo índices de las tablas involucradas en la consulta. Echa un vistazo al asistente para la mejora de los índices, te puede dar algún consejo que otro. A lo mejor es suficiente con poner un índice a la fecha.
* Mira la consulta a ver si puedes reducir algo quitando joins, poniendo filtros, etc.
* Si la consulta la utilizas para meterla en un cursor que luego lo recorres para hacer un cálculo, intenta hacer este cálculo directamente en la consulta (a veces me sorprende la cantidad de cosas que se pueden hacer)
* En sql 2000 existen vistas indexadas, o sea, vistas que tienen indices. Son muy útiles para sistemas donde hay muchas consultas, pero no recomendables para sistemas donde se introducen y borran muchos valores.
* Utiliza siempre como clave de las tablas, un autonumérico con indice cluster
No se me ocurre nada más, pero creo que ya tienes para darle a la cabeza.
Un saludo. Si tienes más dudas, pregunta; y si no, no te olvides de votarme.
Respuesta
1
Para mejorar los tiempos de consulta sobre SQL Server te recomiendo que utilices el analizador de consultas. En ella existe una función en el menú de Consulta llamado "Mostrar plan de ejecución". Si activas esta opción, cuando realizas las consultas, se muestra toda la información referente a ella.
Con esto puedes realizar variaciones en la consulta y ver las diferencias con otras.
Por otra parte hay muchas opciones a la hora de configurar el servidor y de crear las estructuras de base de datos que pueden influir en los tiempos, te puedo nombrar las más importantes:
- Donde se crea el fichero de base de datos (capacidad del disco, velocidad de acceso de la tarjeta, red, ...)
- Como se crea la estructura de base de datos (Indices, tamaños, fragmentaciones)
- Opciones de búsqueda dentro de las tablas.
- Creación de la querys (No utilizar OR, no utilizar NOT IN, No utilizar BETWEN...)
Para todo puedes ir modificando los parámetros que tu creas conveniente y luego ver el costo con el analizador de consultas.
Respuesta
1
Si me envías la estructura de la tabla, las llaves primarias, las llaves foráneas (si las tiene) y la estructura de los índices que manejes y la sentencia que utilizas puedo ver que podemos hacer, esto casi siempre se resuelve generando un buen índice que te permita resolver tus problemas.
Respuesta

¡Parece que este problema aún no está resuelto! ¿Alguien tiene alguna idea? Tengo el mismo problema, si alguien tiene una solución, geometry dash

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas