====== InnoDB File-Per-Tableモードではinnodb_data_home_dirは無視される ====== MySQL/MariaDBに''innodb_data_home_dir''というシステム変数がある。InnoDBのデータファイル置き場を明示する変数だが、InnoDB File-Per-Tableモードでは指定値が無視される。File-Per-Tableモードとは、InnoDBのテーブル毎にファイルを作成するモードの事で''innodb_file_per_table''変数で制御可能である。MySQL 5.6.6以降でデフォルト有効になったため、''innodb_data_home_dir''は事実上意味がなくなってしまった。 よって、File-Per-TableモードではZFSの''recordsize''や''primarycache''をストレージエンジン毎に最適化する、という手法が取りにくくなった。(DBごとにフォルダが作成され、その中にInnoDBやMyISAMのファイルが混在することになるため。)自分のメモも兼ねて最適とされるパラメータを下表にまとめる。 ^ ストレージエンジン ^ recordsize ^ primarycache | |MyISAM| 8kB|all| |InnoDB(データ)| 16kB|metadata| |InnoDB(ログ)| 128kB|metadata| ===== 参考サイト ===== * [[https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html#sysvar_innodb_file_per_table|MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.12 InnoDB の起動オプションおよびシステム変数]] * [[https://dev.mysql.com/doc/refman/5.6/ja/innodb-multiple-tablespaces.html|MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.5.2 InnoDB File-Per-Table モード]]