SqlServer教程

SQL Server 筛选索引没有回表

本文主要是介绍SQL Server 筛选索引没有回表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CREATE NONCLUSTERED INDEX FIBillOfMaterialsWithEndDate  
    ON Production.BillOfMaterials (ComponentID, StartDate)  
    WHERE EndDate IS NOT NULL ;  
GO  

筛选索引 FIBillOfMaterialsWithEndDate 对下面的查询有效。 您可以显示查询执行计划,以确定查询优化器是否使用了该筛选索引。

SQL复制

SELECT ProductAssemblyID, ComponentID, StartDate   
FROM Production.BillOfMaterials  
WHERE EndDate IS NOT NULL   
    AND ComponentID = 5   
    AND StartDate > '20080101' ;  

ProductAssemblyID字段没有包含在筛选索引里面,应该回表查询才对,但是执行计划并没有回表,非常迷惑.

ProductAssemblyID也并非主键

 改为SELECT *...

SELECT *
FROM Production.BillOfMaterials  
WHERE EndDate IS NOT NULL   
    AND ComponentID = 1
    AND StartDate > '20080101' ; 

 

 

这篇关于SQL Server 筛选索引没有回表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!