-
25-09-2019 - |
题
我怎么分区一个编制索引视MS SQL?我有一个索引视创建该商店的数值范围。视的定义如下
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)
现在我想分区这表使用的日期的柱。我要怎么做?
解决方案
您似乎会寻找一个“分区对准”索引;分区将在SQL 2008企业版支持(你没有提到你的版本或版本)。分区索引联机丛书中的讨论,但没有分区的视图索引我能找到的讨论,虽然这是可能的,它是在一张白纸这里所描述(见查询11在纸张的末尾):
其他提示
我有点经验与分区,但我认为你是混淆的事情。(大师,请纠正我,如果我错了).
据我知道有 三种类型的分区SQL服务器:
一个 分配表 可以分列,例如日期。
一个 分配图 是图指定一个 UNION
之间类似的查询不同的表格。
一个 分区结盟编制索引视 是一种索引认为是分配沿着相同的column(s)为分配表,这是相关的。
我不认为这是可能的分区的一个索引查没有分区的基础表。因此,我建议你分区 day_dim
在 date_time
列,然后创建一个分区结盟编制索引视为符合此列。看看 这个链接,并下滚动查询11 对于一个例子如何做到这一点。
不隶属于 StackOverflow