MySQLでデータベース単位とテーブル単位のデータサイズ(容量)の調べ方
VPSの各種ファイルを整理している際に「MySQLも不要なデータを削除すればいいんじゃないか」と思い、その際にどのデータベース・テーブルが容量を使用しているのか調べたくなった。Adminerだと「サイズ - 算出」という項目はあるが、これはどうも即時反映されないっぽい(データ削除後等)。なので別の調べ方をメモ。
調べ方
データベース単位
SELECT table_schema, SUM(DATA_LENGTH + INDEX_LENGTH) /1024 /1024 AS MB FROM information_schema.tables GROUP BY table_schema ORDER BY SUM(DATA_LENGTH + INDEX_LENGTH) DESC;
テーブル単位
SELECT table_schema, SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 AS MB FROM information_schema.tables WHERE table_schema = '【テーブル名】';
所感
参考サイトによるとストアドプロシージャに登録すると便利とのこと。確かにこういったケースがストアドプロシージャの使いどころかもしれない。登録方法は過去記事参照。
関連記事
-
-
MySQLでJOINの高速化
JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...
-
-
MySQLに保存したデータをJSON形式で取得する方法
MySQLに保存したデータをJSON形式で利用したいということがたまにある(Ja ...
-
-
MySQLで「Uncaught mysqli_sql_exception: BIGINT ~~」エラーの対応方法
MySQLにて「Uncaught mysqli_sql_exception: B ...
-
-
MySQLのバイナリログ(/var/lib/mysql/binlog)を適切に削除する方法
レンタルしているVPS内のファイルを整理していると「/var/lib/mysql ...
-
-
MySQLで直近〇日、〇ヶ月、〇年以内のデータを検索する方法
他社が作成されたSQL文を見ているとDATE_ADDという使ったことの無い関数が ...