TDSQL-C for MySQLは公式のデフォルト値に基づいて最適化を施していますが、お客様の異なるビジネスシナリオに基づき、インスタンス購入後、ご利用の業務シナリオに応じて以下のパラメータを適切に設定することをお勧めします:
character_set_server
デフォルト値:UTF8MB4
再起動の必要性:はい
作用:MySQLサーバーのデフォルト文字セットを設定するために使用されます。TDSQL-C for MySQLは、LATIN1、UTF8、GBK、UTF8MB4などの複数の文字セットを提供します。
LATIN1は英字をサポートしており、1文字あたり1バイトを占有します。
UTF8は世界中のすべての国で必要とされる文字を含んでおり、国際的なエンコーディングで汎用性が高いです。1文字あたり3バイトを占有します。
GBKの文字エンコーディングはダブルバイトで表されるため、中国語文字も英字文字もすべてダブルバイトで表現されます。
UTF8MB4はUTF8のスーパーセットとして完全な下位互換性を持ち、1文字あたり4バイトを占有し、絵文字もサポートします。
お勧め:インスタンス購入後、ビジネスで必要なデータ形式をサポートする適切な文字セットを選択し、クライアントとサーバー側で同じ文字セットを設定することで、文字セット設定の不備による文字化け問題や不要な再起動操作を避けることができます。
lower_case_table_names
注意:
TDSQL-C for MySQL 8.0バージョンでは、クラスタ作成時にパラメータlower_case_table_namesの値は一度選択されクラスタ作成が完了すると変更不可となります。一方、TDSQL-C for MySQL 5.7バージョンでは、クラスタ作成時またはクラスタ作成後においても、パラメータlower_case_table_namesの値の変更がサポートされています。
デフォルト値:なし。クラスタ作成時にユーザー自身で設定できます。
再起動の必要性:はい
作用:データベースおよびテーブル作成時、保存とクエリにおいて大文字と小文字を区別するかどうかを決定します。このパラメータには0または1を設定可能で、デフォルト値は0です。値が0の場合は大文字小文字を区別し、1の場合は区別しません。
お勧め:ご自身のビジネスニーズと使用習慣に基づいて、合理的な設定を行ってください。
sql_mode
デフォルト値:
NO_ENGINE_SUBSTITUTION(5.6バージョン)、ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION(5.7バージョン)
再起動の必要性:いいえ
作用:MySQLでは異なるsqlモードで実行可能であり、sqlモードはMySQLがサポートすべきsql構文やデータ検証などを定義します。
5.6バージョンのデフォルトパラメータ値はNO_ENGINE_SUBSTITUTIONであり、使用されるストレージエンジンが無効化されているかコンパイルされていない場合、エラーをスローします。
5.7、8.0バージョンのデフォルトパラメータ値はONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTIONです。
ここで:
ONLY_FULL_GROUP_BYは、GROUP BYによる集約操作において、SELECT句の列、HAVING句またはORDER BY句の列が、GROUP BYに含まれる列またはGROUP BY列に依存する関数列である必要があることを示します。
STRICT_TRANS_TABLESは厳密モードを有効化します。NO_ZERO_IN_DATEは日付の月や日に0を含めることを許可するかどうかを示し、厳密モードの有効化状態の影響を受けます。
NO_ZERO_DATEデータベースではゼロ日付の挿入が許可されず、厳密モードの有効化状態の影響を受けます。
ERROR_FOR_DIVISION_BY_ZEROは、厳密モードではINSERTまたはUPDATE時にデータがゼロ除算された場合、警告ではなくエラーを発生させます。非厳密モードでは、データがゼロ除算された場合MySQLはNULLを返します。
NO_AUTO_CREATE_USERは、空のパスワードを持つユーザーをGRANTで作成することを禁止します。
NO_ENGINE_SUBSTITUTIONは、使用されるストレージエンジンが無効化されているかコンパイルされていない場合、エラーをスローします。
推奨:異なるSQLモードは異なるSQL構文をサポートするため、お客様のビジネスシナリオおよび開発習慣に基づいて、合理的な設定を行うことをお勧めします。
long_query_time
デフォルト値:1
再起動の必要性:いいえ
作用:スロークエリの判定時間を指定するために使用され、デフォルト値は1sです。クエリの実行時間が1秒以上の場合、そのクエリの実行状況はスローログに記録され、後のスロークエリ分析に役立ちます。
推奨:お客様のビジネスシナリオや性能への感度が異なるため、事後の性能分析に備え、各々のビジネスシナリオに応じて適切な値を設定することをお勧めします。