sql server中使用組合索引須要注意的地方

一、索引應該建在選擇性高的字段上(鍵值惟一的記錄數/總記錄條數),選擇性越高索引的效果越好、價值越大,惟一索引的選擇性最高;html


二、組合索引中字段的順序,選擇性越高的字段排在最前面;若是把低選擇性的列放在最左端,可能會形成沒法使用該索引的狀況。sql


三、where條件中包含兩個選擇性高的字段時,能夠考慮分別建立索引,引擎會同時使用兩個索引(在OR條件下,應該說必須分開建索引);性能


四、不要重複建立彼此有包含關係的索引,如index1(a,b,c) 、index2(a,b)、index3(a);優化


五、組合索引的字段不要過多,若是超過4個字段,通常須要考慮拆分紅多個單列索引或更爲簡單的組合索引;server


六、組合索引一般在查詢語句中的WHERE條件使用了組合索引最左邊的列時會最有用。htm


七、組合索引增長了更新數據成本,增長了存儲索引的成本。另外,在dbms查詢時,優化方案中不必定會選擇到他(有可能直接選擇了單鍵查詢)索引


八、不要濫用索引。由於過多的索引不單單會增長物理存儲的開銷,對於插入、刪除、更新操做也會增長處理上的開銷,並且會增長優化器在選擇索引時的計算代價。get


九、太多的索引與不充分、不正確的索引對性能都是毫無益處的。數據


十、索引的創建必須慎重,對每一個索引的必要性都應該通過仔細分析,要有創建的依據。查詢

 

參考資料:sql server組合索引    http://www.studyofnet.com/news/954.html

相關文章
相關標籤/搜索