2013-03-19 46 views
3

我的服務器上有6個數據庫。mysql數據庫上所有索引的大小

在phpmyadmin中,我可以查看組成數據庫的表的列表,並查看諸如記錄數,表名,表類型等等​​。它還顯示了大小和總大小。一個數據庫的總大小是5個演出和80個不同的表格。

我想知道這5個演出中有多少與我的索引有關。我可以點擊一張桌子並在那裏查看細節。理論上,如果我做了80次,每次做了一次,然後添加了它,我會得到我的答案。

有沒有一種方法(在phpmyadmin或SSH)得到多少空間單個MySQL表的組合索引的答案?如果我能夠通過表格和總結看到一個列表,那將會更好。

在此先感謝。

+0

http://stackoverflow.com/questions/781873/how-to-figure-out-size-of-indexes-in-mysql – Greg 2013-03-19 19:18:08

+0

呀內舉行,在發佈這個問題之前,我讀了這個問題。我沒有看到我只能看到整個數據庫(或按表,但顯示所有表)的索引大小....我不是在尋找表狀態,而是整個數據庫狀態。我錯過了嗎? – Kevin 2013-03-19 19:26:30

回答

4

這是一個很好的問題,是的它可以在數據庫級別上查看。

的信息是INFORMATION_SCHEMA

SELECT table_name, 
concat(round(data_length/(1024 *1024) , 2) , 'Mb') AS 'data_length_mb', 
concat(round(index_length/(1024 *1024) , 2) , 'Mb') AS 'index_length_mb', 
concat(round(round(data_length + index_length)/(1024 *1024) , 2) , 'Mb') AS 'total_size_mb' 
FROM information_schema.tables 
WHERE table_schema ='your_db_name' 
ORDER BY data_length desc; 
+1

真棒!這正是我想要的。謝啦。 – Kevin 2013-03-19 22:53:14