加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

索引的查询路径8

发布时间:2020-12-12 16:08:16 所属栏目:MsSql教程 来源:网络整理
导读:/* ?8、覆盖索引(IX_WorkOrder_ProductID(Include StartDate)) */ --修改IX_WorkOrder_ProductID索引,使其包含StartDate列 ? --打开一个查询编辑器,点击编辑器上面的显示查询计划按钮 SET STATISTICS TIME ON?--显示查询执行时间 SET STATISTICS IO ON?--

/*
?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,
?则直接读取非聚集索引即可以获取到数据。

*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读