サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012/08/11

MySQL-InnoDBの最適化

MySQLを使ったパッケージアプリのデータサイズを調べることになりました。MySQLをあまりよく知らないのですが、InnoDBだとDBのデータはデフォルトでibdata1ファイルに格納されるということがわかったので、そのファイルのサイズを見ると約4GB。結構大きいようです。

ただ変だと思ったのが、PostgreSQLを使った別のパッケージアプリとの比較。アプリの内容が全く違いますし、DBの種類も違うので単純な比較はできませんが、PostgreSQLを使ったアプリのDBサイズが約200MB、しかも使用頻度はMySQLを使ったアプリよりはるかに高い。このサイズの差は何だろう?ということで、さらに調べてみました。

MySQLのDBサイズのことを説明したサイトは多いのですが、こちらのサイトがわかりやすいようです。InnoDBのibdata1ファイルはデータを削除してもサイズが縮小されることはない、つまりメンテナンスをしてやらないと肥大化を続けるということになります。おそらくMySQLを使ったこのアプリは、一度もメンテナンスをしていないのでしょう。

パッケージアプリなのでそのドキュメントを見ましたが、メンテナンスに関する記載はありません。またアプリの前任管理者からもそういうメンテナンスが必要との情報を聞いていません。上記サイトからのコピーですが(上記サイトもさらにMySQLの公式リファレンスマニュアルのコピーですが)、次のような作業でibdata1ファイルのサイズを縮小することができるようです。

1.全ての InnoDB テーブルをダンプする為に mysqldump を利用してください。
2.サーバを停止してください。
3.全ての存在するテーブルスペース ファイルを削除してください。
4.新しいテーブルスペースを設定してください。
5.サーバを再起動してください。
6.ダンプ ファイルをインポートしてください。


私には、まずMySQLのことを勉強する必要があります。PostgreSQLはともかくMySQLほとんど知らないので。実行はしばらくあとになるでしょう。

スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1284-37be4ac8

■  カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。