為執行的查詢收集的重要統計信息,包括時間、臨時表、索引、聯接等,都收集在「查詢統計 SQL 編輯器結果」標籤中(請參閱以下兩圖)。
啟用查詢,並收集效能架構統計資料。
performance_schema 已啟用語句偵測。
透過利用增強型 JSON 格式中包含的附加數據,可視化解釋功能可建立並呈現 MySQL EXPLAIN 語句的視覺化描述。所有 EXPLAIN 格式,包括標準格式、原始擴充 JSON 和視覺化查詢計劃,都可以在 MySQL Workbench 中用於執行查詢。
在 SQL 編輯器中執行查詢,然後從查詢結果選單中選擇「執行程序」以接收執行計劃的直覺說明。除了預設的視覺化解釋視圖之外,執行計劃還包含一個表格解釋視圖,類似於您在 MySQL 用戶端中執行 EXPLAIN 時看到的內容。有關 MySQL 如何執行語句的詳細信息,請參閱使用 EXPLAIN 最佳化查詢。
視覺解釋約定
視覺解釋圖應該從下到上、從左到右閱讀。下面的圖表範例中給出了用於表示視覺解釋計劃的各種元素的圖形、文字和資訊約定的概述。要了解更多詳細信息,請參閱 -
圖形標準
訊息與文字約定
#第一張圖的視覺解釋圖提供了以下查詢的視覺描述。
select * FROM employee_table
標準盒子:桌子
#圓角框:GROUP 和 SORT 等運算
#框架框:子查詢
#鑽石:連結
方塊下方的標準文字:表格(或別名)名稱
#框下方的粗體文字:使用的鍵/索引
#方塊右上角的數字:過濾後表格中使用的行數
#方框左上角的數字:存取該表的相對成本(需要 MySQL 5.7 或更高版本)
巢狀迴圈(或雜湊連接)菱形右側的數字:JOIN 產生的行數
#菱形上方的數字:JOIN 的相對成本(需要 MySQL 5.7 或更高版本)
下表顯示了視覺解釋圖中使用的相關顏色和描述。有關成本估算的詳細信息,請參閱優化器成本模型。
系統名稱 |
顏色 |
視覺化圖表上的文字 |
工具提示相關資訊 |
---|---|---|---|
#系統 |
藍色 |
單行:系統常數 |
成本非常低 |
#常數 |
藍色 |
單行:常數 |
#成本非常低 |
#EQ_REF |
#綠色 |
唯一鍵找出 |
#低成本-最佳化器能夠找到可用於檢索所需記錄的索引。速度很快,因為索引搜尋直接指向包含所有行資料的頁面 |
參考 |
綠色 |
非唯一鍵查找 |
#低-中 -- 如果匹配行數較少,則為低;隨著行數的增加而更高 |
#全文 |
黃色 |
全文索引搜尋 |
#專門的全文搜尋。低——針對這種專門的搜尋要求 |
#REF_OR_NULL |
綠色 |
按鍵尋找 取得 NULL 值 |
低-中-如果符合的行數很少;隨著行數的增加而更高 |
#INDEX_MERGE |
#綠色 |
索引合併 |
在中-在查詢中尋找更好的索引選擇以提高效能 |
#UNIQUE_SUBQUERY |
橘色 |
子查詢表中的唯一鍵查找 |
低 -- 用於高效率的子查詢處理 |
INDEX_SUBQUERY |
橘色 |
子查詢表中的非唯一鍵查找 |
低 -- 用於高效率的子查詢處理 |
範圍 |
橘色 |
索引範圍掃描 |
#中 -- 部分索引掃描 |
索引 |
紅色 |
完整索引掃描 |
#高——特別是對於大索引 |
全部 |
紅色 |
全表掃描 |
#非常高 - 對於大型表來說成本非常高,但對於小型表影響較小。找不到該表的可用索引,這迫使優化器搜尋每一行。這也可能意味著搜尋範圍太廣,索引將毫無用處。 |
未知 |
黑色 |
未知 |
注意:這是預設值,以防無法確定符合 |
在本文中,我們學習如何在 MySQL Workbench 中取得查詢統計資料以及它同時具有哪些不同特徵。
以上是MySQL 中的查詢統計的詳細內容。更多資訊請關注PHP中文網其他相關文章!