/*
5、非键列筛选(NonClustered Index Scan filter)
*/
--打开一个查询编辑器,点击编辑器上面的显示查询计划按钮
SET STATISTICS TIME ON --显示查询执行时间
SET STATISTICS IO ON --显示查询的io读取
CHECKPOINT 1 --提交检查点,
DBCC DROPCLEANBUFFERS --删除数据缓存
DBCC FREEPROCCACHE --删除存储过程缓存
SELECT * FROM Production.WorkOrder WHERE StartDate='2001-09-04 00:00:00.000'
--查询结果是107行,执行时间是257毫秒,每毫秒读取行数0.42行,消耗成本是:0.47,逻辑读取526
--查询计划步骤:
--1、Clustered Index Seek(PK_WorkOrder_WorkOrderID)
--2、Compute Scalar
--3、Compute Scalar
--4、Filter
--5、SELECT
/*
说明:
1、由于没有索引,无法从索引出获利,只有进行全表扫描。
*/
本文通过一个具体的SQL查询案例,展示了如何使用非键列筛选(NonClusteredIndexScanFilter)来提高数据库查询效率。文章详细解释了查询执行计划中的各个步骤,并分析了在没有合适索引的情况下进行全表扫描的原因。
903

被折叠的 条评论
为什么被折叠?



