Icon kobu medium
Kota Miyake

my.cnfの内容を理解する

開発ではいつもMySQLを使用しているのですが、my.cnfの設定内容を何気に他の人の記事を参考にしているだけで、ちゃんと理解していなかったので調べてみました。

innodb_file_per_table

こちらの設定を有効にするとシステム共通のテーブルスペースではなく、個別のテーブルスペースを生成するようになります。

https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html#sysvar_innodb_file_per_table

innodb_file_format, innodb_file_format_max

InnoDBテーブルで使用されるファイル形式です。AntelopeとBarracudaの2種類が設定可能です。それぞれの違いについては以下の記事が参考になりました。

InnoDBの制限とファイルフォーマットAntelopeとBarracudaの違い

https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html#sysvar_innodb_file_format

https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html#sysvar_innodb_file_format_max

最近Railsのコミットログを追っているのですが、そこで見たことのIDと同じだと思ったら、同じ人でした。

https://github.com/kamipo

innodb_large_prefix

上記の記事でも書かれていましたが、テーブルの形式をBarracudaにすることで使用できる機能です。こちらの設定を有効にすることで主に以下の2つのメリットがあります。

・行のサイズを小さく保てる

・1行により大きいサイズのデータが保存できる

https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html#sysvar_innodb_large_prefix

引き続き、他にもMySQLのチューニングなどを勉強していこうかと思います。

コメント
新しいコメント