首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5 新特性深度解析:資料字典

     編輯:MySQL 綜合教學

INFORMATION_SCHEMA:統一元數據中心

隨著元數據使用普及,MySQL 5 內建固定名稱資料庫 information_schema,作為中心資料字典,集中儲存:

  • 所有資料庫物件資訊(表、視圖、觸發器、存儲過程等)
  • 安全權限相關資訊
  • 其他伺服器定義的元數據

DBA 與開發者可透過標準 SQL 查詢獲取一個或多個資料庫的全方位元數據。

實戰範例:查詢所有資料庫儲存空間概況

mysql> SELECT a.schema_name db_name,
-> IFNULL(ROUND((SUM(b.data_length)+SUM(b.index_length))/1024/1024,2),0.00) total_size_mb,
-> IFNULL(ROUND(((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/1024/1024,2),0.00) data_used_mb,
-> IFNULL(ROUND(SUM(data_free)/1024/1024,2),0.00) data_free_mb,
-> IFNULL(ROUND((((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/
-> ((SUM(b.data_length)+SUM(b.index_length)))*100),2),0) pct_used,
-> COUNT(table_name) tables
-> FROM information_schema.schemata a
-> LEFT JOIN information_schema.tables b ON a.schema_name = b.table_schema
-> WHERE a.schema_name != 'information_schema'
-> GROUP BY a.schema_name
-> ORDER BY 1;

查詢結果範例

db_nametotal_size_mbdata_used_mbdata_free_mbpct_usedtables
gim432.67432.670.00100.0016
gim28.648.640.00100.006
mysql0.330.330.0099.6918
test0.000.000.000.000
tpcc126.09126.090.00100.009

關鍵點: WHERE 條件排除 information_schema 自身,避免遞迴統計。

(BKJIA.COM 教程)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved