Sim*_*wsi 2 index sql-server sql-server-2008-r2 index-tuning
报告设计者问我是否可以向表添加新索引以加快特定报告的速度。索引将位于单个列 CreatedDate 上,但会包含列。
表上已经有五个索引,我想避免为特定的报告或查询创建单独的索引。但是,我认为单列索引在索引交叉中可能很有用,特别是在可能用于多个查询的列上,例如 CreatedDate。
为了帮助我做出决定,我想知道的是,包含列的索引是否可以用于索引交叉,或者包含列是否会阻止索引用于索引交叉。
我试过用谷歌搜索这个问题,但没有找到任何关于包含的列对索引交集的影响的信息。
包含的列不会阻止索引用于任何目的。
查询优化器将选择对正在编译的查询最有效的最佳索引(或可能是表扫描)。保持索引尽可能小,同时仍然提供所需的功能。根据联机丛书, INCLUDEd 列不会影响查询优化器严格根据大小选择索引,但是,如果任何给定的索引具有查询所需的所有列,无论是作为键列还是包含列,都将优先考虑该索引。
由于查询优化器是一个相当不透明的野兽,您很可能需要测试建议的索引以查看它是否被使用,以及由此产生的对 INSERT、UPDATE 和 DELETE 的影响。
归档时间: |
|
查看次数: |
577 次 |
最近记录: |