Mysql SQL最佳化系列之——執行計劃連線方式淺釋

sqysl發表於2020-01-21

關係庫SQL調優中,雖然思路都是一樣的,具體方法和步驟也是大同小異,但細節卻不容忽視,尤其是執行計劃的具體細節的解讀中,各關係庫確實有區別,特別是mysql資料庫,與其他關係庫的差別更大些,下面,我們僅就SQL執行計劃中最常見的連線方式,做以下簡要介紹和說明。

  1. system : a system table which is a constant table(訪問一個常量系統表);
  2. const : a constant table(訪問一個常量表);

  3. eq_ref : a unique or primary index with an equality relation(透過等值操作去訪問一個唯一或主鍵索引);

  4. ref : an index with an equality relation, where the index value cannot be  NULL(透過一個等值操作去訪問一個不包含null值的索引);

  5. ref_or_null : an index with an equality relation, where it is possible for the index value to be  NULL(透過等值操作去訪問一個可能包含null值得索引);

  6. range : an index with a relation such as  BETWEENIN>=LIKE, and so on(透過類似between,in,>=,like等操作去訪問一個索引);

  7. using_index:a covering index is used(透過覆蓋索引訪問一個索引);

  8. index : a sequential scan on an index(透過順序掃描方式訪問一個索引);

  9. ALL : a sequential scan of the entire table(透過順序掃描方式訪問整張表)。

此外,mysql中,無論對錶或索引的訪問操作還是多表間的連線操作,一般都統稱為連線,這裡,大家需要注意。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2674162/,如需轉載,請註明出處,否則將追究法律責任。

相關文章