SoloCodigo

Bases de Datos => SQL Server => Mensaje iniciado por: oscuros en Jueves 23 de Julio de 2009, 10:26

Título: Reducir tiempo espera de una consulta
Publicado por: oscuros en Jueves 23 de Julio de 2009, 10:26
Buenas tengo la siguiente consulta:

SELECT Remota, COUNT(Remota) AS conta
FROM Usr_Eventos WITH (NOLOCK)
WHERE (TipoMedida = 305) AND (Fecha BETWEEN '01/06/2009' AND '23/07/2009')
GROUP BY Remota

Esta consulta tarda muchisimo tiempo en ejecutarse. Alguien sabe que se puede hacer para reducir el tiempo de espera?

Muchas gracias
Título: Re: Reducir tiempo espera de una consulta
Publicado por: LordKanabis en Viernes 7 de Agosto de 2009, 17:54
1. Puedes hacer un primer intento creando un índice en el campo Remoto del GROUP BY, eso de antemano reducirá el tiempo de respuesta.
2. Una segunda opción es también indexando tus campos que se encuentran en el where de tu consulta.

En realidad, el concepto que permite la optimización de tiempos de respuesta es INDICES.

Saludos.
Título: Re: Reducir tiempo espera de una consulta
Publicado por: F_Tanori en Sábado 8 de Agosto de 2009, 07:08
Claro, como te comenta LordKanabis La solucion esta en los indices, aunque deben de usarse con prudencia si la insercion en la tabla es muy frecuente y tienes demaciados indices ya que se hace lenta la insercion, no creo que en este caso se afecte demaciando con esos indices propuestos

Tambien evita en lo posible el uso de Parentesis en las condiciones where salvo que sean muy necesarios, ya que esto tambien hace lenta las consulta, y ni hablar del Order By ...

Saludos
Título: Re: Reducir tiempo espera de una consulta
Publicado por: ElNapster en Viernes 21 de Agosto de 2009, 18:40
Utilizacion de indices ;)