Posted at

MySQL 8.0 DMR と 5.7 パラメータ比較

More than 1 year has passed since last update.

この記事は 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を実行し、得られた項目を比較しています。


なくなった設定項目

http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/

設定項目
用途
廃止理由

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 2016eshimizuさんです。