資料庫操作之 explain 的type解釋

2022-04-05 02:34:43 字數 960 閱讀 2767

連線操作的型別

(1)system

const的特例,當表上只有一條元組匹配

(2)const

where條件篩選後表上至多有一條元組匹配時,比如where id = 2 (id是主鍵,值為2的要麼有一條要麼沒有)

(3)eq_ref

參與連線運算的表是內錶(在**實現的演算法中,兩表連線時作為迴圈中的內迴圈遍歷的物件,這樣的表稱為內錶)。

基於索引(連線欄位上存在唯一索引或者主鍵索引,且操作符必須是「=」謂詞,索引值不能為null)做掃瞄,使得對外表的一條元組,內錶只有唯一一條元組與之對應。

(4)ref

可以用於單錶掃瞄或者連線。參與連線運算的表,是內錶。

基於索引(連線欄位上的索引是非唯一索引,操作符必須是「=」謂詞,連線字段值不可為null)做掃瞄,使得對外表的一條元組,內錶可有若干條元組與之對應。

(5)ref_or_null

類似ref,只是搜尋條件包括:連線欄位的值可以為null的情況,比如 where col = 2 or col is null

(6)range

範圍掃瞄,基於索引做範圍掃瞄,為諸如between,in,>=,like類操作提供支援

(7)index_scan

索引做掃瞄,是基於索引在索引的葉子節點上找滿足條件的資料(不需要訪問資料檔案)

(8)all

全表掃瞄或者範圍掃瞄:不使用索引,順序掃瞄,直接讀取表上的資料(訪問資料檔案)

(9)unique_subquery

在子查詢中,基於唯一索引進行掃瞄,類似於eq_ref

(10)index_subquery

在子查詢中,基於除唯一索引之外的索引進行掃瞄

(11)index_merge

多重範圍掃瞄。兩表連線的每個表的連線欄位上均有索引存在且索引有序,結果合併在一起。適用於作集合的並、交操作。

(12)ft

full text,全文檢索

MySQL資料庫之資料庫操作

建立資料庫時指定儲存的字元編碼 如果不指定編碼,資料庫預設使用安裝資料庫時指定的編碼 mysql create database emp charset gbk query ok,1 row affected 0.00 sec 建立資料庫 mysql create database stu quer...

資料庫2之 庫的操作

1.資料庫的建立 語法 create database if no exists db name create specitification create specification create specification default character set charset name d...

Mysql資料庫操作之建立資料庫

連線mysql資料庫 1 mysql uroot p 輸入密碼 2 mysql uroot pmysql 後面直接帶上密碼 退出mysql 1.exit 2.quit 3.ctrl d 注 sql語句最後必須要加上分號,在結尾 顯示版本資訊 select version 顯示時間 select no...