8.2.1 用CREATE INDEX 命令創建索引
CREATE INDEX 既可以創建一個可改變表的物理順序的簇索引,也可以創建提高查詢性能的非簇索引。其語法如下:
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED]
INDEX index_name ON {table | view } column [ ASC | DESC ] [,...n])
[WITH
[PAD_INDEX]
[ [, ] FILLFACTOR = fillfactor]
[ [, ] IGNORE_DUP_KEY]
[ [, ] DROP_EXISTING]
[ [, ] STATISTICS_NORECOMPUTE]
[ [, ] SORT_IN_TEMPDB ]
]
[ON filegroup]
各參數說明如下:
UNIQUE創建一個惟一索引,即索引的鍵值不重復。在列包含重復值時,不能建惟一索引。如要使用此選項,則應確定索引所包含的列均不允許NULL 值,否則在使用時會經常出錯。 CLUSTERED
指明創建的索引為簇索引。如果此選項缺省,則創建的索引為非簇索引。 NONCLUSTERED
指明創建的索引為非簇索引其索引。數據頁中包含了指向數據庫中實際的表數據頁的指針。 index_name
指定所創建的索引的名稱。索引名稱在一個表中應是惟一的,但在同一數據庫或不同數據庫中可以重復。 table
指定創建索引的表的名稱。必要時還應指明數據庫名稱和所有者名稱。 view
指定創建索引的視圖的名稱。視圖必須是使用SCHEMABINDING 選項定義過的,其具體信息請參見“視圖創建”章節。 ASC | DESC
指定特定的索引列的排序方式。默認值是升序(ASC)。 column
指定被索引的列。如果使用兩個或兩個以上的列組成一個索引,則稱為復合索引。一個索引中最多可以指定16 個列,但列的數據類型的長度和不能超過900 個字節。 PAD_INDEX