設計準則(減少IO存取次數)
1.經常被用來搜尋資料記錄的欄位
2.Primary key(sqlserver自動建立)
3.套用unique限制條件的欄位(sqlserver自動建立)
4.Foreign key定義作為外部索引鍵欄位?
5.於查詢中被用來連結資料表的欄位
6.用來作排序基準的欄位
-不要替超過20bytes的欄位作索引(索引體佔太多空間 ex.地址)
-很少變動,經幣被查詢
7.索引需維設,減少使用頻率低的索引,以免耗維護成本
8.內容重複率高的欄位效益低
9.資料記錄多,存取效率才會明顯,反過來說少反而慢(path)
-利用query analyzer執行,檢視execution plan與執行時間來測
-不斷嚐試、不停修正
索引的類型
1.Clustered Index(簇集索引) -範圍(日期,編號)
改變資料表記錄存放次序,並與簇集索引中錄值次序相同
-ex. between 100 and 200=>以昇冪來排就直接抓出其間的100筆
每個table只能有一個clustered index
2.NonClustered index(非簇集索引) -特定值(姓名,電話)
沒有留言:
張貼留言