Oracle如何選擇合適的列作爲索引?

一、簡介

我們都知道,索引實質上是一種數據結構,如果在表上建立了合適的索引,能夠大大加快我們的查詢速度,但是對於如何選擇表中的哪一列作爲索引,很多人其實並不是特別清楚,本文將總結一些常見的適合建立索引的字段和不適合建立索引的規則,具體如下。

二、哪些情況需要創建索引?

簡單總結,主要有以下8個方面,適合作爲索引的列:

  • 1.主鍵自動建立唯一索引;
  • 2.頻繁作爲查詢的條件的字段應該創建索引;
  • 3.查詢中與其他表關聯的字段,外鍵關係建立索引;
  • 4.頻繁更新的字段不適合創建索引;
  •     因爲每次更新不單單是更新了記錄還會更新索引,加重IO負擔
  • 5.Where條件裏用不到的字段不創建索引;
  • 6.傾向創建組合索引;
  • 7.查詢中排序的字段,排序字段若通過索引去訪問將大大提高排序的速度;
  • 8.查詢中統計或者分組字段;

三、哪些情況不要創建索引?

  • 1.表記錄太少;
  • 2.經常增刪改的表;
  • 3.數據重複且分佈平均的表字段,因此應該只爲經常查詢和經常排序的數據列建立索引;
  • 注意,如果某個數據列包含許多重複的內容,爲它建立索引就沒有太大的實際效果;

四、總結

在實際工作中,可以適當參考上面的規則進行建立索引,並且需要結合具體場景選擇合適的索引,並不是說建立了索引,查詢效率就一定會提高,有時候索引建立不合適,反而會出現查詢慢的情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章