explain之select_type

爲了演示方便,我們直接使用MySQL官方提供的sakila數據庫
首先我們確保MySQL已經安裝成功,然後導入sakila數據表及數據到待演示的數據庫中
大家可以直接去官網上下載
https://dev.mysql.com/doc/sakila/en/sakila-installation.html
登錄到MySQL中,爲了生成數據表,需要執行
SOURCE D:\mysql\sakila-schema.sql
再導入數據
SOURCE D:\mysql\sakila-data.sql
下面我們開始演示:
我們使用explain來解釋一條sql, 比如:
explain select * from film
在這裏插入圖片描述
從上圖中我們可以看到,第一列就是select_type, 那麼今天我們來討論下,select_type到底是什麼,以及select_type有哪些可能的值。
select_type顧明思義,就是我們的查詢類型,目前有多種可能的值:SAMPLE、PRIMARY、UNION、DEPENDENT UNION、UNION RESULT、SUBQUERY、 DEPENDENT SUBQUERY、DERIVED,下面分別舉例說明

  • SAMPLE:簡單查詢
    通常不使用子查詢、嵌套查詢、關聯查詢的查詢我們稱之爲簡單,上圖例子就演示了,在此不再重複說明

  • PRIMARY:通常是複雜查詢中的最外層查詢稱爲PRIMARY查詢,如下圖所示:
    在這裏插入圖片描述

  • UNION: 多個查詢的並集查詢,如下所示
    在這裏插入圖片描述

  • DEPENDENT UNION:依賴聯合查詢
    在這裏插入圖片描述

  • UNION RESULT: 聯合結果查詢,通常是聯合查詢的最終結果,帶有聯合查詢的情況下,都有這種查詢,表示把兩個或者多個查詢結果合併起來

  • SUBQUERY:子查詢,通常是子查詢中的記錄數確認爲不超過2條的情況下,爲子查詢,如果子查詢爲一個集合,則演變爲依賴子查詢。
    在這裏插入圖片描述

  • DEPENDENT SUBQUERY:依賴子查詢
    在這裏插入圖片描述

  • DERIVED:一個表中查詢另一個滿足條件的集合
    在這裏插入圖片描述

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