在SQL Server中建立條件索引

2021-08-09 05:12:16 字數 1220 閱讀 5216

這篇檔案主要介紹使用t-sql在sql server中建立條件索引。條件索引是乙個優化了非聚集索引,特別適合特定資料子集的資料查詢。條件索引就是使用過濾條件來索引部分**資料。乙個設計良好的條件索引可以查詢的效能,並減少索引儲存的大小。

一、條件索引有如下的好處:

二、設計需要考慮的事情

1、當一列只查詢少數資料值的時候,你可以建立這些資料值的子集。

2、當表有異構資料庫行的時候,可以為多個資料種類建立條件查詢。

三、限制

1、不能在檢視上建立條件索引

2、條件索引有如下好處:

3、只支援簡單比較操作

4、如果過濾索引表示式同查詢謂詞,且不返回條件索引中的列,則條件索引表示式中的列不必是主鍵,也不必是包含列

5、如果查詢謂詞使用的比較列不同於條件索引表示式,則條件索引表示式中的列必須是主鍵或者包含列

6、如果列在查詢結果裡面,則條件索引表示式中的列必須是主鍵或者包含列

7、**的聚集索引不必是主鍵或包含列,聚集索引自動包含在非聚集索引中,包括條件索引

四、建立條件查詢

use adventureworks2012

gocreate nonclustered index filterbillofenddateindex

on productionbillofmaterials(componentid, startdate)

where enddate is not null;

go五、使用條件查詢

use adventureworks2012

go select productassemblyid, componentid, startdate   

from production.billofmaterials  

where enddate is not null   

and componentid = 5   

and startdate > '01/01/2008' ;  

go6、在查詢中指定條件索引

use adventureworks2012

go select componentid, startdate from production.billofmaterials

with(index(filterbillofenddateindex))

where enddate in ('20000085', '2000000', '20000918');

go

在SQLSERVER中建立DBLINK

配置sqlserver資料庫的dblink exec sp addlinkedserver server was sms srvproduct provider sqloledb datasrc 10.131.20.100 exec sp addlinkedsrvlogin was sms fals...

怎麼在SQL Server中建立名為order的表

order是sql server的關鍵字,類似的還有user 如果直接使用如下語句建立表 create table order order id int,customer id int,date added date,date modified date,status int,primary key...

SQL Server 中建立索引

索引的概念 建立索引的目的 提高了資料庫系統的效能,加快資料的查詢速度與減少系統的響應時間。索引是什麼 資料庫中的索引類似於一本書的目錄,在一本書中通過目錄可以快速找到你想要的資訊,而不需要讀完全書。在資料庫中,資料庫程式使用索引可以快速查詢到表中的資料,而不必掃瞄整個表。書中的目錄是乙個字詞以及各...