我们有一个相当大的表(大约1800万条记录),从这个表中查询我们总是包含AccountId
,一个帐户可以容纳5万到2百万条记录,我们通常根据{{1}查询}或SalesRep
(很少同时出现)。
将索引应用于此表时哪个更合适?
或
谢谢,
- 在评论中按照billinkc的问题进行编辑。
这是一个舞台表,每天都会被截断/刷新。我没有提到这一点,因为我总体上很好奇。如果我们应该在每个字段中使用CollectionsRep
,我们不确定我们是否在查询中使用了许多其他常用字段。
对于这个表,我想要索引的原因是在推送到生产之前加速以后的聚合。以前这些工作需要20-30分钟,但在指数(第一个例子)之后,它们下降到不到一分钟。
答案 0 :(得分:2)
您的首选索引是正确的选择。您说在查询中始终使用AccountId
。因此,它应该在与其他字段的索引中。这将允许索引直接访问查询所需的行。
第二组索引仅提供行的部分覆盖。如果使用它们,则SQL Server必须返回数据页面以获取用于过滤的其他信息。