forzar uso de un indice u otra solucion

13/11/2005 - 10:44 por yodelmis | Informe spam
saludos



tengo la siguiente tabla : ControlAcc (ID long ,Fecha date, Persona
varchar(30),Destino varchar(30),Autori int)
con indices creados por (ID),(Fecha),(Fecha,Persona,Destino,Autori), este
ultimo indice fue sugerido por sql.

El problema es el siguiente:

Cuando realizo una busqueda por rango de fecha, la busqueda se demora
demaciado y en el caso de una solo fecha la respuesta es inmediata. Cuando
voy al plan de ejecucion, me doy cuenta que en el caso de la busqueda por
rango de fecha, el sqlserver no esta utilizando el indice de fecha.

Existe alguna forma de forzar a que en este caso sqlserver utilize el indice
de fecha.
 

Leer las respuestas

#1 Maxi [MVP]
13/11/2005 - 12:31 | Informe spam
Hola existir existe una forma pero no te la recomiendo en lo absolut. Me
imagino que este es un solo indice compuesto por todos estos campos no o
tienes mas de un indice? podrias poner el plan de ejecucion? otra cosa, las
estadisticas las tienes actualizadas no?


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
Miembro de GUESS



"yodelmis" escribió en el mensaje
news:%
saludos



tengo la siguiente tabla : ControlAcc (ID long ,Fecha date, Persona
varchar(30),Destino varchar(30),Autori int)
con indices creados por (ID),(Fecha),(Fecha,Persona,Destino,Autori), este
ultimo indice fue sugerido por sql.

El problema es el siguiente:

Cuando realizo una busqueda por rango de fecha, la busqueda se demora
demaciado y en el caso de una solo fecha la respuesta es inmediata. Cuando
voy al plan de ejecucion, me doy cuenta que en el caso de la busqueda por
rango de fecha, el sqlserver no esta utilizando el indice de fecha.

Existe alguna forma de forzar a que en este caso sqlserver utilize el
indice de fecha.

Preguntas similares