Pregunta

¿Cómo particiones en una vista indizada en MS-SQL? Tengo una visión índice creado que almacena rango de valores. La definición de la vista es el siguiente

CREATE VIEW dbo.target_individual_product WITH SCHEMABINDIN       
    AS SELECT day_dim.date_time AS Date,  
    SUM(ISNULL(order_dim.quantity,0)) AS Target_Acheived,  
    branch_dim.branch_name AS Branch_Name ,   
    product_dim.product_name AS Product_Name  
FROM dbo.day_dim INNER JOIN  
     dbo.order_fact ON day_dim.day_id = order_fact.day_id  
INNER JOIN dbo.product_dim ON order_fact.product_id = product_dim.product_id   
INNER JOIN dbo.branch_dim ON order_fact.branch_id = branch_dim.branch_id   
INNER JOIN dbo.order_dim ON order_fact.order_id = order_dim.order_id  
GROUP BY order_dim.quantity, day_dim.date_time,branch_dim.branch_name, product_dim.product_name  
GO
CREATE UNIQUE CLUSTERED INDEX target_individual_product_I on target_individual_product (Date)

Ahora quiero particionar esta tabla usando la columna fecha. ¿Cómo lo hago?

¿Fue útil?

Solución

Parece que está en busca de un índice "partición alineados"; partición es compatible con SQL Server 2008 Enterprise Edition (que no menciona su versión o edición). los índices particionados se discuten en los libros en pantalla, pero no hay discusión de la partición de índices de las vistas que puedo encontrar, aunque es posible y es descrito en un libro blanco aquí (ver consulta 11 al final del documento):

http://msdn.microsoft.com/en-us/library/ dd171921.aspx

Otros consejos

Tengo poca experiencia con el particionado, pero creo que se está confundiendo las cosas. (Gurus, por favor corríjanme si me equivoco).

Por lo que yo sé que hay tres tipos de particiones en SQL Server :

A tabla particionada puede ser particionado en una columna tal como la fecha.

A vista con particiones es una vista en la especificación de un UNION entre consultas similares de diferentes tablas.

A vista indizada alineado repartió- es una vista indizada que se repartió a lo largo de la misma columna (s) como la tabla con particiones a la que está unida.

No creo que es posible dividir una vista indizada sin partición de la tabla subyacente. Por lo tanto, sugeriría que se particiona el day_dim en la columna de la date_time, y luego crear una vista indizada partición alineados para que coincida con esta columna. Ver este enlace y vaya a la consulta 11 para un ejemplo de cómo hacer esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top