MySQL 中的查詢統計


在“查詢統計”SQL 編輯器結果選項卡中收集了為執行的查詢收集的重要統計資訊,包括時間、臨時表、索引、聯接等(請參閱以下兩張圖)。

需求

  • 啟用查詢並收集效能模式統計資訊。

  • performance_schema 已啟用語句檢測。

SQL 編輯器:查詢統計

視覺化解釋計劃

透過利用增強型 JSON 格式中包含的附加資料,視覺化解釋功能建立並呈現 MySQL EXPLAIN 語句的視覺化描述。所有 EXPLAIN 格式(包括標準格式、原始擴充套件 JSON 和視覺化查詢計劃)在 MySQL Workbench 中都可用於執行的查詢。

直觀演示用法

在 SQL 編輯器中執行您的查詢,然後從查詢結果選單中選擇“執行過程”以接收執行計劃的視覺化解釋。執行計劃包含類似於在 MySQL 客戶端中執行 EXPLAIN 時看到的表格解釋檢視,以及視覺化解釋檢視(這是預設檢視)。有關 MySQL 如何執行語句的詳細資訊,請參閱使用 EXPLAIN 最佳化查詢。

視覺化解釋約定

應從下到上、從左到右閱讀視覺化解釋圖。以下圖例中給出了用於表示視覺化解釋計劃各個元素的圖形、文字和資訊約定概述。要了解詳細資訊,請參閱 -

  • 圖形標準

  • 資訊和文字約定

第一張圖的視覺化解釋圖提供了以下查詢的視覺化描述。

select  * FROM employee_table

視覺化解釋示例

圖形約定

  • 標準框:表

  • 圓角框:操作(如 GROUP 和 SORT)

  • 帶邊框的框:子查詢

  • 菱形:聯接

文字和資訊約定

  • 框下方的標準文字:表(或別名)名稱

  • 框下方的粗體文字:使用的鍵/索引

  • 框右上方的數字:篩選後從表中使用的行數

  • 框左上方的數字:訪問該表的相對成本(需要 MySQL 5.7 或更高版本)

  • 巢狀迴圈(或雜湊聯接)菱形右邊的數字:聯接產生的行數

  • 菱形上方的數字:聯接的相對成本(需要 MySQL 5.7 或更高版本)

下表顯示了視覺化解釋圖中使用的關聯顏色和描述。有關成本估算的更多資訊,請參閱最佳化器成本模型。

視覺化解釋圖資訊

系統名稱

顏色

視覺化圖上的文字

工具提示相關資訊

SYSTEM

藍色

單行:系統常量

成本非常低

CONST

藍色

單行:常量

成本非常低

EQ_REF

綠色

唯一鍵查詢

低成本 - 最佳化器能夠找到可用於檢索所需記錄的索引。它速度很快,因為索引搜尋直接指向包含所有行資料的頁面

REF

綠色

非唯一鍵查詢

中低 - 如果匹配的行數較少,則為低;隨著行數的增加,成本會更高

FULLTEXT

黃色

全文索引搜尋

專門的全文搜尋。低 - 針對此專門的搜尋需求

REF_OR_NULL

綠色

鍵查詢 + 獲取 NULL 值

中低 - 如果匹配的行數較少,則為低;隨著行數的增加,成本會更高

INDEX_MERGE

綠色

索引合併

中等 - 在查詢中查詢更好的索引選擇以提高效能

UNIQUE_SUBQUERY

橙色

對子查詢的表進行唯一鍵查詢

低 - 用於高效的子查詢處理

INDEX_SUBQUERY

橙色

對子查詢的表進行非唯一鍵查詢

低 - 用於高效的子查詢處理

RANGE

橙色

索引範圍掃描

中等 - 部分索引掃描

INDEX

紅色

完整索引掃描

高 - 尤其對於大型索引

ALL

紅色

完整表掃描

非常高 - 對於大型表來說成本非常高,但對小型表的影響較小。找不到表中可用的索引,這迫使最佳化器搜尋每一行。這也可能意味著搜尋範圍非常廣,以至於索引毫無用處。

UNKNOWN

黑色

未知

注意:這是預設值,如果無法確定匹配項,則使用此值

結論

在本文中,我們學習瞭如何在 MySQL Workbench 中獲取查詢統計資訊,以及同時瞭解其不同特徵。

更新於: 2023年2月22日

2K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.