发布于 2021-03-26 04:50:55
当两个索引都满足一个查询时,您会发现这两个索引中较小的一个被选中。通常,这意味着索引更窄,但对于完全重复的、相同的索引也适用,物理上较小的索引是首选的。
除非您正在扫描索引,并且需要考虑整个索引大小,否则您的索引调优Spidey感觉是正确的。删除IX_1,查询将使用IX_2。那些寻求的人几乎不会注意到。
发布于 2021-03-26 04:46:21
如果删除IX_1,以前使用它的所有查询现在都将开始使用IX_2。由于IX_2更大(另一个键字段和两个包含字段),它有:
任何目前使用IX_1的查询都不需要这些额外的字段,否则它们就已经在使用IX_2了。随着IX_1的消失,他们将不得不读取更多的数据才能生成相同的结果集。
单个列索引(如IX_1 )对编写工作负载的影响通常很小,这取决于数据类型。我看不出有什么令人信服的理由放弃它。
https://dba.stackexchange.com/questions/287735
复制相似问题