首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 儲存引擎 info() 函數實作指南:為優化器提供表統計資訊

     編輯:MySQL 資料庫相關知識

呼叫時機

執行表掃描前,伺服器呼叫儲存引擎的 info(),引擎需填充特定屬性供優化器決策。

關鍵屬性清單

實作要點

  • 若無法即時得知確切列數(如外部資料源),**回傳 ≥2** 避免優化器誤判為空表
  • 屬性同時供 SHOW TABLE STATUS 顯示,需保持準確
  • 完整定義見 sql/handler.h 中的 handlerton 結構

優化器決策影響

-- 記錄數 = 0 或 1:優化器可能選擇直接讀取而非索引掃描
-- 記錄數 ≥ 2:正常走索引/全表掃描成本評估

因此準確回報 records 對查詢計畫品質至關重要。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
屬性用途
records (ha_rows)表列數,**最關鍵**;0/1 列與 ≥2 列會觸發不同優化路徑
data_file_length資料檔長度
index_file_length索引檔長度
delete_length可重用空間(刪除列殘留)
auto_increment_value下一個 AUTO_INCREMENT 值
mean_rec_length平均列長度
create_time / update_time / check_time建立/更新/檢查時間
raid_chunksizeRAID 區塊大小