Sql server 使用索引改进多维数据集处理

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

我有一个用于多维数据集处理的大型事实表(我们称之为分组)。目前,1年的数据量约为8.5亿行,每天仍在加载,我认为每天至少有200万行

此表有20列,其中三列为:

  • GroupCategory varchar(100)
  • 集团子类别nvarchar(100)
  • dateint(它也是将用于多维数据集分区的聚集索引)
我有几个MeasureGroup,其查询如下:

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进行分区,但我们正计划进行分区。我们每天都在对立方体进行全面处理。