楽しく読めて役に立つ、オール書き下ろし記事でお送りする新しい事典
「なるほど事典」は、毎日早朝7時前から新着記事をリリース。通勤・通学のおともに、ぜひブックマークを!
>> 退屈で死にそう
>> 家族で居間でテレビ、脱毛エステのCMが不快

MySQL テーブルごとにファイルを分けるinnodb_file_per_table

 
スポンサーリンク
 フリーのデータベース(RDBMS)MySQLを使っていると、全てのテーブルが1つのファイルに押し込められて、巨大な1つのファイルに全てのデータが入っていることが分かります。それ自体ですぐに思いつく弊害はないとしても、なんだかそのファイル一つにリスクが集中しているようで、怖いですね。

 データベースエンジンにInnoDBを利用している場合、これは設定によって変えられます。それが、innodb_file_per_table です。このオプションを指定すると、共通データファイルではなく、「テーブル名.ibd」という複数のデータファイルに分割して格納されるようになります。

 ですから、この「innodb_file_per_table」というキーワードを、my.cnfまたはmy.iniに記述すると良いわけです。

 ところで、共通ファイルになっていると、
自動拡張されてしまったファイルサイズが、データを削除しても、小さくはなりません。ところが、テーブルごとにしている場合、業を削除したあとに下記のコマンドで、ファイルを縮小することができます。

> ALTER TABLE table_name ENGINE INNODB

スポンサーリンク
は編集部のオススメ記事です。