この記事は MySQL Casual Advent Calendar 2016 の14日目です。
MySQL 8.0 Developer Milestone Release が9月にリリースされました(`・ω・´)
早速、5.7と比較してパラメータがどのように変化したか差分を確認してみました。
利用したバージョン
8.0.0-0.1.dmr と 5.7.16 でSHOW GLOBAL VARIABLESを実行し、得られた項目を比較しています。
なくなった設定項目
設定項目 | 用途 | 廃止理由 |
---|---|---|
ignore_db_dirs | データディレクトリ内のディレクトリでデータベースとして扱いたくないものを指定する。 | データディクショナリ機能によりディレクトリベースでの管理は廃止。 |
*innodb_checksums | InnoDBのデータファイルに対してチェックサムを実行するかどうか選択します。 | innodb_checksum_algorithm に一本化。 |
*innodb_file_format *innodb_file_format_check *innodb_file_format_max | InnoDBのデータファイルの形式を選択します。 | 従来は互換性のため古い Antelope フォーマットを選択することもできましたが、8.0で廃止。 |
*innodb_large_prefix | このオプションを有効にすると、DYNAMIC および COMPRESSED 行フォーマットを使用する InnoDB テーブルで、767 バイトよりも長い (最大で 3072 バイトの) インデックスキープリフィクスが許可されます。 | 常にONに |
*innodb_locks_unsafe_for_binlog | InnoDBのギャップロックの挙動を変更する。 | トランザクション分離レベルをREAD-COMMITEDにすることで同様の効果が得られるため廃止。 |
*innodb_stats_sample_pages | テーブルの統計情報を更新するときにサンプリングするページ数を指定。大きくすると統計情報の正確性が増すが、負荷が増える。 | innodb_stats_transient_sample_pages に一本化されました。 |
*innodb_support_xa | レプリケーションの安全性とパフォーマンス確保のため、廃止。InnoDB XAは無効にできなくなりました。 | |
sync_frm | データディクショナリ機能により廃止。 |
* は MySQL 5.7以前で廃止が予告されていたもの。
増えた設定項目
これまでのtable_definition_cacheに加えて、スキーマ、ストアド、テーブルスペースのデータディクショナリオブジェクトキャッシュが増えてました。
スキーマやストアドを大量に使うケースでなければ、調整しなくて良いでしょう(たぶん)。
設定項目 | 用途 | デフォルト |
---|---|---|
information_schema_stats | information_schema でテーブル情報を参照する際、キャッシュされたテーブル情報を利用するか否か。CACHED(Default)の場合、キャッシュされた統計情報を利用する。LATESTの場合、都度テーブルに統計情報を取得しにいくため、最新の情報が見れるが、負荷がかかる場合がある | ON |
performance_schema_error_size | P_Sのerror instrument のサイズ | 1043 |
persisted_globals_load | mysqld-auto.cnf の有効無効を選択。無効にした場合、SET PERSIST で設定した設定値は無効になる。 | ON |
schema_definition_cache | データディクショナリ機能により導入された。ディクショナリオブジェクトキャッシュ、キャッシュするスキーマオブジェクトの数を指定 | 256 |
stored_program_definition_cache | データディクショナリ機能により導入された。ディクショナリオブジェクトキャッシュ、キャッシュするストアドオブジェクトの数を指定 | 256 |
tablespace_definition_cache | データディクショナリ機能により導入された。ディクショナリオブジェクトキャッシュ、キャッシュするテーブルスペースのオブジェクトの数を指定 | 256 |
値に変更があった設定項目
instrument の各最大値に変更がありました。instrument が増えたことによる微調整でしょう。
設定項目 | MySQL 5.7 | MySQL 8.0DMR |
---|---|---|
performance_schema_max_memory_classes | 320 | 350 |
performance_schema_max_rwlock_classes | 40 | 50 |
performance_schema_max_statement_classes | 193 | 201 |
まとめ
- DMRではまだ差分は少なく、どのように設定すべきか悩むようなパラメータもなさそうでした。
明日の MySQL Casual Advent Calendar 2016 はeshimizuさんです。