MySQL執行計畫 EXPLAIN引數

2021-09-07 07:56:01 字數 1400 閱讀 7053

explain select * from school; desc    select * from school;
執行結果:

執行計畫引數.png

接下來對這10個引數進行簡單解釋:

1、id:在整個查詢中select的位置;

2、select_type:查詢的型別,包括沒有子查詢的簡單查詢、union、子查詢、外部查詢、外部查詢中的子查詢或from語句中的子查詢等;

3、table:所查詢的表名;

4、type:連線如何執行的情況。這裡存在很多值,範圍從const(最佳)到all(最差);

5、possible_keys:為了提高查詢速度,在mysql中可以使用的索引;

6、key:實際使用的索引;

7、key_len:索引的長度;

8、ref:使用哪一列或常數與key一起從表中選擇行;

9、rows:mysql需要在相應表中為了成功進行查詢,進行檢驗的行的數量。為了得出總行數,mysql必須掃瞄處理整個查詢,再乘以每個表的行值;

10、extra:其他資訊,涉及mysql如何處理查詢,比如說,使用where語句、使用乙個索引、利用乙個臨時表等;

其中select_type可以是:

******

primary

union

dependent union

union result

subquery

dependent subquery

derived

type可以是:

system

const

eq_ref

refref_or_null

index_merge

unique_subquery

index_subquery

range

index

all

extra可以是:

distinct

not exists

range checked for each record (index map

using filesort

using index

using temporary

using where

using sort_union(...), using union(...), using intersect(...)

using index for group-by

mysql執行計畫 MySQL 執行計畫

1.執行計畫的定義 什麼是執行計畫 查詢計畫 呢?執行計畫就是一系列的操作步驟。sql是宣告性語言,它只告訴資料庫要查詢什麼,但並不告訴資料庫如何去查。資料庫所要做的就是基於演算法和統計資訊計算出一條最佳的訪問路徑。這個工作是由優化器來完成的。優化器會比較不同的執行計畫,然後選擇其中最優的一套。2....

mysql 生成執行計畫 MySQL執行計畫

和很多其他關係型資料庫不通,mysql並不會在生成查詢位元組碼來執行查詢。mysql生成查詢的一棵指令樹,然後通過儲存引擎執行完成這棵指令樹並返回結果。最終的執行計畫包含了重構查詢的全部資訊。如果某個查詢執行explain extended 之後,在執行show warnings,就可以看到重構出的...

mysql 查詢執行計畫 MySql執行計畫的檢視

一。什麼是資料庫執行計畫 利用乙個sql語句,你可能要server取出所有news表中的資訊.當server收到的這條sql的時候,第一件事情並不是解析它.如果這條sql沒有語法錯誤,server才會繼續工作.server會決定最好的計算方式.server會選擇,是讀整個news表好呢,還是利用索引...