小编Thi*_*ger的帖子

具有高选择性和低选择性字段的复合索引顺序中的字段顺序

我有一个超过 30 亿行的 SQL Server 表。我的一个查询需要很长时间,所以我正在考虑优化它。查询如下所示:

SELECT [Enroll_Date]
      ,Count(*) AS [Record #]
      ,Count(Distinct UserID) AS [User #]
  FROM UserTable
  GROUP BY [Enroll_Date]
Run Code Online (Sandbox Code Playgroud)

[Enroll_Date] 是具有少于 50 个可能值的低选择性列,而 UserID 列是具有超过 2 亿个不同值的高选择性列。根据我的研究,我认为我应该在这两列上创建一个非聚集复合索引,理论上高选择性列应该是第一列。但我不确定在我的情况下,这是否有效,因为我在 group by 子句中使用了低选择性列。

该表没有聚集索引。

index sql-server nonclustered-index

11
推荐指数
3
解决办法
1030
查看次数

标签 统计

index ×1

nonclustered-index ×1

sql-server ×1