索引新特点
本章节以AdventureWorks数据库为示例;
SQL SERVER 2008 的索引提供了筛选功能;
USE AdventureWorks
GO
--创建筛选索引
--以下索引是针对网上订购的进行非聚索引
CREATE INDEX IX_Sales_SalesOrderHeader_Online
ON Sales.SalesOrderHeader(SalesOrderID, OrderDate)
WHERE OnlineOrderFlag = 1 --新特点,可以索引的数据进行筛选
--以下索引是针对不是网上订购的进行非聚索引
CREATE INDEX IX_Sales_SalesOrderHeader_Retail
ON Sales.SalesOrderHeader(SalesOrderID, OrderDate)
WHERE OnlineOrderFlag = 0
--接下来,演示筛选索引如何覆盖查询
--第一:查询网上订购信息,IX_Sales_SalesOrderHeader_Online索引就是针对这部分数据进行索引,查看执行计划;
SELECT SalesOrderID, OrderDate FROM Sales.SalesOrderHeader
WHERE OnlineOrderFlag = 1
从执行计划上,我们可以看出,上面查询只检索了IX_Sales_SalesOrderHeader_Online索引;
第二:查询不是网上订购 IX_Sales_SalesOrderHeader_Retail索引就覆盖此次查询,如下:
SELECT SalesOrderID, OrderDate FROM Sales.SalesOrderHeader
WHERE OnlineOrderFlag = 0
查看执行计划:
从执行计划上,我们可以看出,上面查询只检索了IX_Sales_SalesOrderHeader_Retail索引;
浙公网安备 33010602011771号