2017年10月11日 星期三

建立索引

建立索引
於實際建立索引前,必須先認清下列各項:  <
>
1.      當替資料表建立PRIMARY KEYUNIQUE條件約束時,SQL Server會自動建立索引。
所以如果某項功能需求能使用PRIMARY KEYUNIQUE條件約束來完成,就應該使用條件約束而不要自行建立索引。
2.      只有資料表的擁有者能夠替資料表建立索引。
3.      索引的名稱必須符合SQL Server的命名規則,且必須是資料表中獨一的名稱,但不需是資料庫中獨一的名稱。
4.      SQL Server會將索引的相關資訊存放在系統資料表sysindexes中。
5.      在建立某欄位索引前,先確認是否已有索引以此欄位為鍵值欄,即不要重複替相同的欄位建立索引。
6.      索引的鍵值應儘量小巧為宜。(有效率與節省磁碟空間)
7.      儘量替辨識度高的欄位建立索引。
8.      每當建立一個叢集索引時,所有現存的非叢集索引會重新建立。因此須先建立叢集索引,再建立各個非叢集索引。


※使用Enterprise Magager建立索引
1.      在資料表結構定義後,按工具列中的「資料表和索引屬性」按鈕。
2.      「屬性」對話方塊開啟後,切換至「索引/索引鍵」標籤頁面。
3.      「新增」按鈕,表示新建立一個索引。
4.      「索引名稱」文字方塊中鍵入索引的名稱。
5.      「資料行名稱」清單方塊中,選取索引的鍵值欄(單一或多個欄位組合)
6.      「索引檔群組」清單中選取一檔案群組,以便決定要將索引存放於資料庫的哪一個檔案群組中。
7.      如果希望此索引是一個獨一索引,則先勾選核取方塊□建立成唯一 UNIQUE(U),且接著務必選取選項鈕○索引(X)
如果希望獨一索引要忽略重複鍵值,則勾選核取方塊□忽略重複的索引鍵(K)
8.      如果要建立一個叢集索引,則勾選核取方塊□建立成叢集 – CLUSTERED(C)
9.      建議當索引被更新時要重新計算統計資訊,所以不要勾選核取方塊□不會自動重新計算統計資料(M)
10.  「填滿因數」文字方塊中鍵入索引的填充係數(Fill Factor),以便決定於索引建立期間要如何去填滿每一個索引分頁的分葉層(Leaf Level)
11.  設定填充係數後,如果希望索引的非分葉層(Non-Leaf Level)亦使用填充係數的設定值來決定要保留多少空間,則勾選核取方塊□索引亦使用(P)
12.  反覆上述建立索引步驟,直到建完所需索引。
13.  「存檔」按鈕。


沒有留言:

用頭腦去思考,不要人云亦云才好, 宗教信徒就是依賴與自私心態(求東求西)的人, 光是這點就很容易暴露弱點了, 難怪seafood吃飽飽,哈哈。 續上, 除了依賴與自私心態(兩者都是人性)之外。 另外也有很大一部份的人,是人云亦云的思考邏輯, 所以宗教才能譁眾取寵。