質問: mysqlの容量を増やしたい さくらサーバー 専用サーバ アドバンスド nec i110rb-1h core2duo os red hat enterprise linux 5 server メモリ 1g hdd 250g mysqlバージョン: 5.0.45 開発言語 php5 上記のサーバーで運用しています。 一週間、サーバーが異常に重く、全く開かない状態でした。 phpmyadminを調べていた所、inoodb free 300000kb(約ですが) となっている事に気づきました。 そこで、不要なデータを削除し、free 450000kb となるぐらいまで にしたところ、ウソの様に、サクサク動くようになりました。 しかし、データは毎日大量に蓄積されて行きます。 近いうちに、free領域がなくなっていく事は目に見えています。 そこで質問です。 mysqlの使用状況は、 データベースa テーブル数は約70 データサイズ 17m データベースb テーブル数は約120 データサイズ 231m たったこれだけのデータです。 1.mysqlでのデータ保存の領域はどれくらいでしょうか? 調べる方法はありますか? osなどにもよるが、テラサイズまで格納出来るとあちこちで 見かけますが、なぜこんなデータ量で固まってしまうので しょうか? とにかく、至急領域を増やす必要があります。 方法をお教えいただけないでしょうか? 2.リファレンスから引用 もし全ての(非システムの)テーブルを innodb テーブルとして 作成したければ、サーバ オプション ファイルの [mysqld] セクションにライン default-storage-engine=innodb を 追加するだけでよいです この様に記載されていますが、テーブルの約90%は トランザクションが必要なので、inoodbです。 いっその事、全てのテーブルをinnodbにしてしまえばと思うの ですが、その事により生じるデメリットは? また、上記の設定により、myisamは作ってはいけなくなると いう事でしょうか? 将来的に、g単位のデータを格納する事になります。 この程度のデータ量で、サイトが重くなるようでは どうしようもありません。 現在、mysqlの設定はデフォルトですので、何もいじってません。 もちろん、今後チューニングも必要かと思いますが、まだ知識がなく 恐くていじる事が出来ていません。 何とぞ、ご教示お願い致します。
回答: 本当に要領の問題か疑問です・・・ mysqlのチューニングについてはexpainでトライアンドエラーで やることになると思います。 また不要なトランザクションやロックが発生しているようなら 場合によってはばっさり切り捨てる勇気も必要です。 (あくまでも不要な場合にかぎりますが)