1、 索引分類的解釋
a)
索引從大的方面分為叢集索引和非叢集索引。
叢集索引:一個表最多隻能建立一個,並且,表的記錄的排列順序按叢集索引要求的順序改變而改變;
非叢集索引:一個表可以有多個,且不會對錶中記錄的順序產生影響。
b) 索引根據是否具有唯一性限制式分為了4類。
當我們建立不具有唯一性限制式的索引的時候,此時的索引就僅有一個作用,加快了查詢速度,但是對我們輸入的資料不保證唯一性,此時,可以想一想,當查詢該索引作用的列值時,就可能出現錯誤,因為列值可能有相同的,此時,系統就不能準確的定位列值了,所以,我們建立索引的時候,都是建立具有唯一性限制式的索引,並且,現在我們把具有唯一性限制式的叢集索引稱為叢集索引,我們把具有唯一性限制式的非叢集索引稱為唯一索引。
1、企業管理器建立索引
步驟1:進入建立索引的介面裡
步驟2:索引是否具有唯一性限制式
步驟三:是否建立叢集索引
2、 通過SQL語句建立索引
Create [unique] [ clustered//nonclustered] Index index_nameon table_name(column_name [ASC//DESC])
解釋:unique指定建立的索引是具有唯一約束的索引;clustered//nonclustered指定被建立的索引類型,聚簇還是非聚簇,二選一;index_name指定建立索引的名字;table_name建立索引的表的名字;column_name索引中包含的列的名字。
注意,不同版本的SQL系統的預設關鍵字的區別。
3、 通過建立主鍵約束和唯一約束
建立主鍵約束或唯一鍵約束的時候,系統分別自動建立出叢集索引或唯一索引。
特別說明:
1、改變表中的資料(如增加或刪除記錄)時,索引將自動更新。
2、索引資料無限,但索引越多,更新資料的速度越慢,因此,對於僅使用查詢的表,我們可以多建立索引,對於資料更新頻繁的表則應少建些索引。
3、索引建立後,在查詢使用該列時,系統將自動使用索引進行查詢,也就是說,索引直接加快了系統查詢的速度,從而加快了我們等到資料的速度。
對於1和2的理解,大家可以查看這篇部落格:索引、視圖、遊標、預存程序和觸發器(1、總述)