建立索引該如何選取字段

2022-06-26 16:51:10 字數 853 閱讀 5376

建立索引應選取什麼字段,原則:

1、在where子句中最頻繁使用的字段

2、聯接語句中的聯接字段

3、選擇高選擇性的字段(如果很少的字段擁有相同值

,即有很多獨特值

,則選擇性很好

)4、在選擇性很差的字段上建索引只有在這個欄位的值分布非常傾斜的情況下才有益(在這種情況下,某一

,兩個字段值比其它欄位值少出現很多

)5、不要在很少獨特值的字段上建b-tree索引

,在這種情況下

,你可以考慮在這些欄位上建位圖索引

.在聯機事務處理環境下

,併發性非常高

,索引經常被修改

,所以不應該建位圖索引

6、不要在經常被修改的字段上建索引.當有

update,delete,insett

操作時,oracle

除了要更新表的資料外

,同時也要更新索引

,而且就象更新資料一樣

,或產生還原和重做條目

7、不要在有用到函式的字段上建索引,oracle在這種情況

,優化器不會用到索引

,除非你建立函式索引

8、可以考慮在外鍵欄位上建索引,這些索引允許當在主表上

update,delete

操作時,

不需要共享子表的鎖

,這非常適用於在父表和子表上有很多併發的

insert,update

和delete

操作的情況

當建立索引後,請比較一下索引後所獲得的查詢效能的提高和

update,delete,insert

操作效能上的損失

,比較得失後

,再最後決定是否需建立這個索引

哪些字段適合建立索引?如何建立索引

表的主鍵必須有索引 資料量超過300的表應該有索引 經常與其他表進行連線的表,在連線欄位上應該建立索引 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 索引應該建在選擇性高的字段上 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引 a 正確選擇復合索引中的主列字段,一...

code first 如何建立索引字段

比較簡單的辦法 1 protected override void seed context context 25 6private void createindex context context,string field,string table,bool unique false 7 nonc...

MySQL之索引 索引欄位的選取

日常在建資料表的時候,通常會在where,group by,order by等常用的字段上建立索引,當有多個字段時候,有一項原則就是該字段的去重後的值個數越多,索引建立的必要性越強。這裡建立一張資料表,有staff id和leader id兩個字段,通過explain分析可以驗證哪個欄位更適合做索引...