MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
Q&A
解決済
2回答
20516閲覧
総合スコア43
0グッド
2クリップ
投稿2014/07/24 05:50
0
2
MySQL5.1を使っています。 開発環境のディスク容量が逼迫してきたので、不要なテストデータをdeleteしたのですがディスク容量が減りません。 削除に失敗したか検証するために該当レコードをSELECTしてみると確かに消えています。 MySQLが使っているディスク容量を減らすにはどうすれば良いでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
基本的に、データベースはデータの完全性、そして速度を優先して動きますので、データベース上からデータを削除してもテーブルが小さくなることはなく、あとで再利用するためにスペースが温存されます。
InnoDBの場合、データベースファイルの容量を削減するには、いったんデータベースをダンプしてファイルを削除、そしてダンプから再作成という危険かつ手間のかかる方法しかないようです(マニュアル)。
投稿2014/07/24 06:42
総合スコア146795
回答へのコメント
2014/07/28 00:49
maisumakunさんも書かれていますが 削除した件数がどのくらいなのかわかりませんが、innodbはレコードを削除しただけではディスク容量は減りません。 設定次第ではテーブル単位にデータを分割できるのでテーブルだけ消せば、そのテーブル分データ容量を削減できます。(innodb_file_per_table) 開発環境ということなので、一番簡単な方法としてmysqldumpなどでバックアップを取得したあとデータを全て消し、リストアすれば良いかと思います。
今後同様の現象を防ぐためにはテーブルごとにデータを分割する設定にするか、ディスクサイズの自動拡張(autoextend)をしないで固定で指定すれば良いかと思います。 (ただし、ディスク容量を増やしたときにこの上限が足かせになるかもしれませんが)
投稿2014/07/24 07:43
総合スコア49
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.30%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
MySQLで一度レコードが増えたら不要なレコードを消してもディスク容量が減らない
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/07/28 00:49