Home > MySQL > MySQLのテーブルサイズを変更する

MySQLのテーブルサイズを変更する

  • 2009-09-22 (火) 15:54
  • MySQL
  • 投稿者:hitotsu
MySQLを使って新着ブログRSSを収集・記録し件数をグラフ化しているが、
今日、ふと見るとある時刻から情報が追加されていない。

調べてみるとテーブルサイズが4096MBになっていた。キリがよい数字で怪しい。
INSERTクエリーの実行に失敗していたはずだが、エラーをトラップしていなかったようだ・・・
MySQLのテーブルサイズについて検索してみると、特に指定しないと最大サイズは4096MBになるらしい。

【参考Blog】

【現在のテーブル情報を参照するSQL】
SHOW TABLE STATUS FROM データベース名 LIKE ‘テーブル名‘;
最大サイズ(Max_data_length )は確かに4096MBになっていた。

【テーブルサイズを変更するSQL】
ALTER TABLE テーブル名 MAX_ROWS=36000000, AVG_ROW_LENGTH=500;
(*)MAX_ROWS,AVG_ROW_LENGTHは設計にあわせて変更すること。

1800万レコード/月あれば対応できそうだが、急な増加に耐えうるよう係数2を乗じて3600万レコードとした。
あくまでも一カ月分の情報が対象のため、毎月定期的にテーブルを追加、容量が足りなくなりそうになったらテーブルサイズを変更するなどのロジックを準備する必要はありそう。

まだ実験段階で、続けるかどうかも不明なので、今後の様子をみて準備したい。