How do I partition an Indexed View in MS-SQL ? I have a index view created which stores range of values. The view definition is as follows
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)
Now i want to partition this table using date column. How do I do that ?
You appear to be looking for a "partition-aligned" index; partitioning is supported in SQL 2008 Enterprise Edition (you didn't mention your version or edition). Partitioned indexes are discussed in Books Online, but there is no discussion of partitioning view indexes that I can find, although it is possible and it's described in a white paper here (see query 11 at the end of the paper):