7

私のサーバーには6つのデータベースがあります。

phpmyadmin では、データベースを構成するテーブルのリストを表示し、レコード数、テーブル名、テーブル タイプなどを確認できます。サイズと合計サイズも表示されます。1 つのデータベースの合計サイズは 5 ギガで、80 の異なるテーブルです。

この 5 ギガのうちどれだけがインデックスに関連しているかを知りたいです。テーブルをクリックすると、そこに詳細が表示されます。理論的には、これを 80 回 (テーブルごとに 1 回) 行い、合計すると答えが得られます。

(phpmyadmin または SSH で) 単一の mysql テーブルの結合されたインデックスの容量の答えを取得する方法はありますか? 表ごとの一覧と集計が見られるとさらに良いです。

前もって感謝します。

4

1 に答える 1

11

これは素晴らしい質問です。もちろん、データベースレベルで表示することは可能です。

情報は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;
于 2013-03-19T20:28:25.290 に答える