/*
8、覆盖索引(IX_WorkOrder_ProductID(Include StartDate))
*/
--修改IX_WorkOrder_ProductID索引,使其包含StartDate列
--打开一个查询编辑器,点击编辑器上面的显示查询计划按钮
SET STATISTICS TIME ON --显示查询执行时间
SET STATISTICS IO ON --显示查询的io读取
CHECKPOINT 1 --提交检查点,
DBCC DROPCLEANBUFFERS --删除数据缓存
DBCC FREEPROCCACHE --删除存储过程缓存
SELECT WorkOrderID,StartDate FROM Production.WorkOrder WHERE ProductID = 722
--查询结果是351行,执行时间是131毫秒,每毫秒读取行数2.68行,消耗成本是:0.004,逻辑读取3
--查询计划步骤:
--1、NonClustered Index Seek(IX_WorkOrder_ProductID)
--2、SELECT
/*
说明:
1、由于ProductID是一个非聚集索引列,
非聚集索引列存储方式:
(1)在存在聚集索引的表中,一列表示非聚集索引列,另一列表示聚集索引键位置。
(2)在不存在聚集索引的表中,一列表示非聚集索引列,另一列表示数据的物理位置RowID(字符长度超过8)
2、在使用非聚集索引时,由于查询的两列存在于非聚集索引中,并且非聚集索引包含了StartDate,
则直接读取非聚集索引即可以获取到数据。
*/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。