No se puede crear el índice porque la columna de clave 'DiaLlamada' no es determin ista o es imprecisa.

02/02/2009 - 22:08 por Mauro Pasetti | Informe spam
Necesito optimizar la performance para devolver registros de una tabla
para una fecha determinada (sin importar el horario).
Utilizo SQL Server 2000 EE

Utilicé DateAdd(day,0,FecHoraLogin)
Utilicé DateAdd(day,cast(0 as datetime),FecHoraLogin)
y finalemente...

[DiaLlamada] AS (convert(int,[FecHoraLogin]))

Por que quiero crear el siguiente índice:
CREATE NONCLUSTERED INDEX [Key_DiaLlamada] ON
[dbo].[MECResumenDiarioTiempos]
(
DiaLlamada,
IdAgente
) ON [SECONDARY]
GO
pero siempre tengo el mismo error.
No se puede crear el índice porque la columna de clave 'DiaLlamada' no
es determinista o es imprecisa.

Agradecería cualquier consejo y/o ayuda porque por toda la info que
busqué, no encontré nada que me pueda ayudar. Tampo conozco si existe
otra forma mejor para obtener la performance que busco.
 

Leer las respuestas

#1 Mauro Pasetti
02/02/2009 - 22:46 | Informe spam
ya lo solucioné, agradecería si otro tiene una propuesta mejor:

(datepart(year,[FecHoraLogin]) * 10000 + datepart(month,[FecHoraLogin])
* 100 + datepart(day,[FecHoraLogin]))

Es determinista y funciona con el índice.

Salu2, y gracias a todos. Si conocen una fórmula mejor, por favor no
duden en enviarla.

Preguntas similares