Original post: http://anothermysqldba.blogspot.com/2013/05/size-per-table-information-with-mysql.html
了解你的數據的大小,當然是有幫助的。 該工具已成為多年來與不同版本的MySQL更容易,但它是東西無論你應該檢查你的MySQL版本。
如果您運行的是舊版本的MySQL(INFORMATION_SCHEMA前),那麼你仍然可以收集這些數據,使用“顯示表狀態添加到index_length DATA_LENGTH。” INFORMATION_SCHEMA使得這個容易得多,但您可以自由使用,只要你喜歡。
利用尋呼機命令收集信息後。
[world]> pager egrep -h "Data_length|Index_length"
PAGER set to 'egrep -h "Data_length|Index_length"'
使用節目表狀態命令來收集相關信息:
[world]> show table status like 'City'\G
Data_length: 409600
Index_length: 131072
1 row in set (0.00 sec)
復位尋呼機:
[world]> pager
Default pager wasn't set, using stdout.
工作台尺寸= DATA_LENGTH + Index_length的
[world]> select 409600 + 131072 as Table_Size;
+------------+
| Table_Size |
+------------+
| 540672 |
+------------+
相同的信息可以通過INFORMATION_SCHEMA:
SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE,SUM(DATA_LENGTH+INDEX_LENGTH) AS size,SUM(INDEX_LENGTH) AS index_size
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA IN ('world') AND TABLE_NAME IN ('City') AND ENGINE IS NOT NULL
GROUP BY TABLE_SCHEMA, TABLE_NAME
TABLE_SCHEMA: world
TABLE_NAME: City
ENGINE: InnoDB
size: 540672
index_size: 131072
1 row in set (0.00 sec)
點,關注和知道你的數據。