Index on view (2a parte)

01/06/2004 - 16:31 por Isaías | Informe spam
Pues ahi tienen que le di drop a mi tabla (respaldando la
informacion de la misma), la volvi a crear, no sin antes
colocar en ON el ANSI_NULLS.

Al momento de crear la vista con la opcion: WITH
SCHEMABINDING

Todo bien, pero al momento de crear el indice:

CREATE UNIQUE CLUSTERED INDEX key_view_1403 ON
view_1403_MI_other (HORA, MINUTO)

Me envia este error:

Server: Msg 1936, Level 16, State 1, Line 1
Cannot index the view 'view_1403_MI_other' It contains one
or more disallowed constructs.

Este es el script de mi vista:

CREATE view view_1403_MI_other
WITH SCHEMABINDING
AS
SELECT DATEPART(hh,fd_FileInputDateTime) AS HORA,
DATEPART(mi,fd_FileInputDateTime) AS MINUTO,
COUNT(fb_InputFileStatus) as TOTAL
FROM dbo.file_1403
WHERE fd_FileInputDateTime BETWEEN CONVERT(CHAR
(10),GETDATE(),120)+' 00:00:00' AND DATEADD(MI,-3,GETDATE
())
AND fb_InputFileStatus = 1
GROUP BY datepart(hh,fd_FileInputDateTime), datepart
(mi,fd_FileInputDateTime)

Estoy metido en un lio.

Cualquier comentario, gracias.

Preguntas similare

Leer las respuestas

#6 Isaías
01/06/2004 - 21:21 | Informe spam
Gracias por tus comentarios

Bueno, tendre que resolver el problema de otra forma, ya
tengo indices en mi columna fecha.

El caso es que tengo HORAS PICO, los domingos de 19:00 a
22:30, puedo recibir hasta 140 mil y un maximo de 2
millones de llamadas, ahi, si que truena la vista.

Al momento de hacer un simple SELECT, me envia el clasico
TIME OUT.

En fin, muchas gracias por tus recomendaciones.
#7 Isaías
02/06/2004 - 00:36 | Informe spam
Una disculpa Jose

El buen amigo Maxi me habia compartido las limitantes de
creacion de indices sobre vistas y estaba tan metido en el
problema y tratar de encontrar la solucion que no habia
leido dicha información y si, es claro que no acepta
subqueries.

Gracias por tu paciencia.
#8 Miguel Egea
03/06/2004 - 23:48 | Informe spam
Bueno, una alternativa es que 'materializes a mano esa vista', me explico,
si se trata de mantener una tabla durante una hora solamente, create un
trigger que rellene esa tabla con las inserciones en tu tabla original y pon
un job que se encargue de borrar datos antiguos, de esta forma tendrías una
tabla mucho más pequeña para consultar y podrías usar una estrategia de
indexación diferente.


-

Miguel Egea Gómez
Webmaster de PortalSQL

(lo de online sobra)
Brigada Anti-Cursores
Microsoft SqlServer M.V.P.


"Isaías" escribió en el mensaje
news:16d5201c44828$f2b64620$
Una disculpa Jose

El buen amigo Maxi me habia compartido las limitantes de
creacion de indices sobre vistas y estaba tan metido en el
problema y tratar de encontrar la solucion que no habia
leido dicha información y si, es claro que no acepta
subqueries.

Gracias por tu paciencia.
Ads by Google
Search Busqueda sugerida