在 mysql 中,我們可以使用慢查詢日誌或者 show processlist 命令等方式定位到執行耗時較長的 sql 語句,在這之後我們可以通過 explain或者程式設計客棧 desc 命令獲取 mysql 如何執行 selec程式設計客棧t 語句 的資訊,包括在 select 語句執行過程中表如何連線和連線的順序
explain+select語句即 explain 命令的使用方式
下面,將對這些列逐一進行講解
id 欄位是 select 查詢的序列號,是一組www.cppcns.com數字,表示的是查詢中執行 select 子句或者是操作表的順序。id 情況有三種
(1) id 相同表示載入表的順序是從上到下
(2) id 不同id值越大,優先順序越高,越先被執行
(3) id 有相同,也有程式設計客棧不同,同時存在。id相同的可以認為是一組,從上往下順序執行;在所有的組中,id的值越大,優先順序越高,越先執行。
2、******
table列展示該行資料屬於哪張表
type列顯示的是訪問型別
掃瞄行的數量
如果有索引,就只掃瞄一行
3、extra
MySQL查詢優化語句 explain
一 mysql 查詢優化器是如何工作的 mysql 查詢優化器有幾個目標,但是其中最主要的目標是盡可能地使用索引,並且使用最嚴格的索引來消除盡可能多的資料行。最終目標是提交 select 語句查詢資料行,而不是排除資料行。優化器試圖排除資料行的原因在於它排除資料行的速度越快,那麼找到與條件匹配的資料...
mysql優化之EXPLAIN語句
explaintbl name 或 explain extended selectselect options explain語句可以用作describe的乙個同義詞,或獲得關於mysql如何執行select語句的資訊 借助於這個語句,我們也可以分析出,索引對於查詢的作用,以及何時應該可以資料表新增...
Mysql語句效能分析 EXPLAIN
使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是如何處理你的sql語句的。分析你的查詢語句或是表結構的效能瓶頸。如下面sql語句 explain select from system area where status 1 簡單表,不使用表連線或子查詢 primary ...