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

索引的查询路径1

发布时间:2020-12-12 16:08:23 所属栏目:MsSql教程 来源:网络整理
导读:/* ?实验:索引的查询路径性能 */ --准备条件:SQLSERVER 2008 R2,安装了示例数据库AdventureWorks --由于公司上网受限制,截图就免了。 --示例的数据库表对象为Production.WorkOrder(总共72591行数据) --该对象有三个索引 --PK_WorkOrder_WorkOrderID(聚集

/*
?实验:索引的查询路径性能
*/
--准备条件:SQLSERVER 2008 R2,安装了示例数据库AdventureWorks
--由于公司上网受限制,截图就免了。
--示例的数据库表对象为Production.WorkOrder(总共72591行数据)
--该对象有三个索引
--PK_WorkOrder_WorkOrderID(聚集索引)
--IX_WorkOrder_ProductID(非唯一非聚集索引)
--IX_WorkOrder_ScrapReasonID(非唯一非聚集索引)


----------------------------------------------------------------

/*
?1、聚集索引扫描(Clustered Index Scan)
*/

--打开一个查询编辑器,点击编辑器上面的显示查询计划按钮
SET STATISTICS TIME ON?--显示查询执行时间
SET STATISTICS IO ON?--显示查询的io读取
CHECKPOINT 1???--提交检查点,
DBCC DROPCLEANBUFFERS?--删除数据缓存
DBCC FREEPROCCACHE??--删除存储过程缓存

SELECT * FROM Production.WorkOrder
--查询结果是72591行,执行时间是1177毫秒,每毫秒读取行数61.99行,消耗成本是:0.47,逻辑读取526
--查询计划步骤:
--1、Clustered Index Scan(PK_WorkOrder_WorkOrderID)
--2、Compute Scalar
--3、Compute Scalar
--4、SELECT

/* ?说明: ?1、没有选择列,必须从聚集索引中读取每一行,由于聚集索引是INT类型,会顺序的读取每一行。 ?2、看似它的速度慢,实际上,它的单位时间内读取速度是最快的。 */ --------------------------------------------------------------

(编辑:李大同)

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

    推荐文章
      热点阅读