MySQL中explain語句的基本使用教程

一、概述

在 MySQL 中,我們可以使用慢查詢日志或者 show processlist 命令等方式定位到執行耗時較長的 SQL 語句,在這之後我們可以通過 EXPLAIN或者 DESC 命令獲取 MySQL 如何執行 SELECT 語句 的信息,包括在 SELECT 語句執行過程中表如何連接和連接的順序

1、explain語句測試

explain+select語句即 explain 命令的使用方式

2、explain結果中各列的說明

下面,將對這些列逐一進行講解

二、explain之id列

1、環境準備


2、explain中的id列詳解

id 字段是 select 查詢的序列號,是一組數字,表示的是查詢中執行 select 子句或者是操作表的順序。id 情況有三種
(1) id 相同表示加載表的順序是從上到下

(2) id 不同id值越大,優先級越高,越先被執行

(3) id 有相同,也有不同,同時存在。id相同的可以認為是一組,從上往下順序執行;在所有的組中,id的值越大,優先級越高,越先執行。

三、explain之select_type列

1、select_type

2、

SIMPLE

3、PRIMARY、SUBQUERY

4、DERIVED

5、UNION、UNION RESULT

四、explain之table、type列

1、table列

table列展示該行數據屬於哪張表

2、type列

type列顯示的是訪問類型

3、例

(1) NULL

(2) system

(3) const

(4) eq_ref

(5) ref

(6) index

(7) ALL

五、explain之key、rows、extra列

1、key


2、rows

掃描行的數量

如果有索引,就隻掃描一行

3、extra

總結

到此這篇關於MySQL中explain語句的基本使用教程的文章就介紹到這瞭,更多相關MySQL中explain使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!