Sql server 使用索引改进多维数据集处理
我有一个用于多维数据集处理的大型事实表(我们称之为分组)。目前,1年的数据量约为8.5亿行,每天仍在加载,我认为每天至少有200万行 此表有20列,其中三列为:Sql server 使用索引改进多维数据集处理,sql-server,ssas,clustered-index,Sql Server,Ssas,Clustered Index,我有一个用于多维数据集处理的大型事实表(我们称之为分组)。目前,1年的数据量约为8.5亿行,每天仍在加载,我认为每天至少有200万行 此表有20列,其中三列为: GroupCategory varchar(100) 集团子类别nvarchar(100) dateint(它也是将用于多维数据集分区的聚集索引) 我有几个MeasureGroup,其查询如下: Select GroupName , GroupCategory , ... , ... from [G
- GroupCategory varchar(100)
- 集团子类别nvarchar(100)
- dateint(它也是将用于多维数据集分区的聚集索引)
Select
GroupName
, GroupCategory
, ...
, ...
from [Groupings]
Where
GroupCategory = 'GroupCategory_1'
AND Date >= AnIntDate
AND Date < AnIntDate
选择
组名
,GroupCategory
, ...
, ...
来自[分组]
哪里
GroupCategory='GroupCategory_1'
日期>=某一日期
日期<截止日期
查询其他度量值组的唯一区别是'GroupCategory\u 1'
,在其他度量值组中可能是'GroupCategory\u 2'
或'GroupCategory\u 3'
我们需要减少多维数据集的处理时间,而这些度量组是瓶颈。我已经尝试将GroupCategory
和Date
作为ClusteredIndex
我认为我使用了正确的索引。我有什么可以检查的吗?如果您有一个测试环境,请仔细阅读索引设计,然后尝试几个不同的索引。您可以强制查询使用索引并运行估计的执行计划(或者只运行包含实际计划的查询),并确定哪个具有更好的性能。如果你经常向表中添加批次,也要阅读统计数据。每天200万行是插入的吗?更新?都是最近一个月的吗?您在多维数据集中分区了吗?您是否使用SQL进行分区?您当前每天都在处理所有SSAS分区吗?我们不做UPDTE,只做当前月份或日期的删除和插入。我们还没有对多维数据集/sql进行分区,但我们正计划进行分区。我们每天都在对多维数据集进行完整的处理。如果您有一个测试环境,请阅读索引设计,然后尝试几个不同的索引。您可以强制查询使用索引并运行估计的执行计划(或者只运行包含实际计划的查询),并确定哪个具有更好的性能。如果你经常向表中添加批次,也要阅读统计数据。每天200万行是插入的吗?更新?都是最近一个月的吗?您在多维数据集中分区了吗?您是否使用SQL进行分区?您当前每天都在处理所有SSAS分区吗?我们不做UPDTE,只做当前月份或日期的删除和插入。我们还没有对多维数据集/sql进行分区,但我们正计划进行分区。我们每天都在对立方体进行全面处理。