SQL 測試查詢語法是否有用到索引欄位的方法 [效能提升/加快速度 方法]

SQL 測試查詢語法是否有用到索引欄位的方法 [效能提升/加快速度 方法]

SQL 測試查詢語法是否有用到索引欄位的方法 [效能提升/加快速度 方法]


資料來源:Copilot


MySQL [EXPLAIN]

EXPLAIN SELECT * FROM your_table WHERE your_column = 'some_value';

查看輸出: 執行上述語句後,MySQL 會返回一個表格,包含以下重要欄位:
    △id: 查詢的識別碼。
    △select_type: 查詢的類型。
    △table: 查詢涉及的表。
    △type: 連接類型,顯示查詢的效率。
    △possible_keys: 查詢可能使用的索引。
    △key: 實際使用的索引。
    △key_len: 使用的索引鍵長度。
    △ref: 哪些列或常量與索引一起使用。
    △rows: MySQL 預計需要讀取的行數。
    △Extra: 其他附加信息。
解讀結果:
    ▼如果 key 欄位顯示了一個索引名稱,則表示該查詢使用了索引。
    ▼如果 key 欄位為 NULL,則表示沒有使用索引。


SQLite [EXPLAIN QUERY PLAN]

EXPLAIN QUERY PLAN SELECT * FROM your_table WHERE your_column = 'some_value';

查看輸出: 執行上述語句後,SQLite 會返回一個表格,包含以下重要欄位:
    △id: 節點的識別碼。
    △parent: 父節點的識別碼。
    △notused: 一個未使用的輔助欄位。
    △detail: 描述節點的詳細信息。
解讀結果:
    ▼如果 detail 欄位中包含 SEARCH,則表示查詢使用了索引。
    ▼如果 detail 欄位中包含 SCAN,則表示查詢進行了全表掃描,沒有使用索引。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *