tencent cloud

TDSQL-C for MySQL

互換性と利用の制限

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:46:22
本稿では分析エンジン機能の使用上の制限と互換性に関する説明をご紹介します。
説明:
本稿で言及されたサポートシナリオを除いて、分析エンジンはその他の特殊シナリオをサポートしていません。

プロダクトアーキテクチャと可用性の差異

TDSQL-C for MySQLの読み書きインスタンスと読み取り専用インスタンスは、ストレージとコンピューティングの分離アーキテクチャを使用して実装されており、弾力的なパフォーマンスと拡張性において固有の利点を持っています。しかし、分析エンジンは読み書きインスタンスや通常の読み取り専用インスタンスとは異なります。複雑なクエリシナリオにおける最高のパフォーマンスを確保するため、分析エンジンはストレージとコンピューティングの集中型アーキテクチャを使用しており、そのデータはコンピューティングノードと同じサーバーのローカルディスクに保存されます。この違いに基づき、以下の相違点が存在することに注意が必要です:
分析エンジンのスケーリング操作ではデータ移行が必要なため、スケーリングシナリオにおいて読み書きインスタンスや通常の読み取り専用インスタンスと同等の効率を維持できません。
分析エンジンが単一ノード構成の場合、高可用性機能を有していません。ノードに障害が発生すると、当該分析エンジンは利用不可状態となります。分析エンジンによる継続的なサービス提供が必要な場合は、マルチノード分析エンジンのご利用をご申請ください。

構文制限

分析エンジンでは、読み取り専用のクエリ文のみを実行でき、DDLやDML操作を含むデータ変更操作は一切行えません。
分析エンジンでは、SELECTクエリ文のみがサポートされています。ただし、SELECT文内でも一部のキーワードと構文がサポートされていない場合があります。詳細はSELECT文に関する説明をご参照ください。
分析エンジンでは、CTE構文とウィンドウ関数をサポートしています。ただし、CTE構文とウィンドウ関数の使用には一部制限があります。詳細はCTE構文の使用説明およびウィンドウ関数の使用説明をご参照ください。
分析エンジンは、現時点でフルテキスト検索構文をサポートしていません。
分析エンジンは現時点でカスタム関数とストアドプロシージャをサポートしていません。
TDSQL-C MySQLクラスタで分析エンジンを有効にしている場合、「読み書きインスタンス」でのデータ変更操作が分析エンジンのデータロードに異常を引き起こす可能性があります。詳細説明については、データロードの制限事項をご参照ください。

表制限事項

分析エンジンでは、バージョンごとに推奨される最大テーブル数が異なります。
1.2404.x:最大テーブル数は2000です。
2.2410.x:最大テーブル数は20000です。
分析エンジンはパーティションテーブルのサポート範囲とシナリオが限られています。詳細については、データロードの制限事項をご参照ください。
分析エンジンはサポートするデータ型に制限があります。サポートされていないデータ型が存在する場合、テーブルは分析エンジンにロードできません。詳細については、データ型をご参照ください。

値制限

分析エンジンでは、デフォルトで通常カラムの値のサイズ制限は16MBです。16MBを超えるカラム値が存在するテーブルを分析エンジンにロードしようとすると、エラーが発生し停止します。この場合、通常カラムがサポートする最大値のサイズを変更するために、申請を提出できます。

SQL_MODE

分析エンジンはMySQLと同様に、SET [ SESSION | GLOBAL ] sql_mode='modes'文でグローバルまたはセッションレベルのSQLモードを設定することをサポートしています。また、SELECT @@sql_modeで現在のSQLのSQLモードをクエリすることもできます。
分析エンジンは以下の一般的なMySQLシステムSQL_MODEをサポートしています。記載されていないSQL_MODEはサポートされていません。ただし、分析エンジンはこれらのSQL_MODEをサポートしていますが、一部のSQL_MODE(例:NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTIONなど)は分析エンジンには適用されません。
名称
意味
PIPES_AS_CONCAT
|| を文字列連結演算子(+)(CONCAT()と同じ)として扱い、ORとしては扱いません。
ANSI_QUOTES
「"」を識別子として扱います。ANSI_QUOTESを有効にすると、単一引用符(')内のみが文字列リテラルと認識され、二重引用符は識別子として解釈されるため、文字列を引用するために二重引用符を使用できません。
IGNORE_SPACE
このモードを有効にすると、システムはスペースを無視します。例:「user」と「user 」は同じものとして扱います。
ONLY_FULL_GROUP_BY
SELECT、HAVING、ORDER BY句に集約関数で処理されていない、またはGROUP BYされていないカラムが含まれる場合、このSQLは無効です。
NO_UNSIGNED_SUBTRACTION
減算において、オペランドに符号がない場合、結果をUNSIGNEDとしてマークしないでください(サポート)。
NO_BACKSLASH_ESCAPES
このモードを有効にすると、\\ バックスラッシュ記号はそれ自体を表すだけです。
STRICT_TRANS_TABLES
トランザクションストレージエンジンの厳密モードを有効にすると、不正な値の挿入後に文全体をロールバックします。
STRICT_ALL_TABLES
トランザクション型テーブルでは、不正な値の書き込み後にトランザクション文全体をロールバックします。
NO_ZERO_IN_DATE
厳密モードでは、月または日の部分が0の日付は受け付けません。IGNOREオプションを使用する場合、同様の日付に対して「0000-00-00」を挿入します。非厳密モードではこの日付を受け付けますが、警告が生成されます。
NO_ZERO_DATE
厳密モードでは、「0000-00-00」を有効な日付として扱わないでください。IGNOREオプションを使用することで、ゼロ日付を挿入することは可能です。非厳密モードではこの日付を受け付けますが、警告が生成されます。
ALLOW_INVALID_DATES
日付の有効性をすべてチェックするのではなく、月の値が1~12の範囲内か、日の値が1~31の範囲内かどうかのみをチェックします。これはDATE列とDATETIME列にのみ対象となり、TIMESTAMP列では有効性をすべてチェックする必要があります。
ERROR_FOR_DIVISION_BY_ZERO
このモードを有効にすると、INSERTまたはUPDATE処理中に除数が0の場合、システムはエラーを発生させます。このモードを有効にしていない場合、除数が0のときは警告が発生し、NULLで置き換えられます。
REAL_AS_FLOAT
REALをFLOATの同義語として扱い、DOUBLEの同義語としては扱いません。
NO_DIR_IN_CREATE
テーブル作成時には、すべてのINDEX DIRECTORYおよびDATA DIRECTORYディレクティブを無視します。このオプションはレプリケーションサーバーからの場合にのみ有効です。
NO_AUTO_CREATE_USER
GRANTによる新規ユーザーの自動作成を防止しますが、パスワードの指定は除きます(ただし分析エンジンでは実質的な効果がありません)。
NO_ENGINE_SUBSTITUTION
必要なストレージエンジンが無効化されているか、コンパイルされていない場合、ストレージエンジンの自動置換を防止します(ただし分析エンジンでは実質的な効果がありません)。

文字セットと照合順序

文字セット(character set)は記号と符号の集合です。分析エンジンにおけるデフォルトの文字セットは utf8mb4 です。
照合順序(collation)は、文字セット内の文字比較および文字の並べ替え順序のルールです。例えば、バイナリ照合順序では、A と a を比較した結果は異なります。
現在、分析エンジンがサポートする文字セットと照合順序は以下の通りです:
文字セット
説明
サポートされる照合順序
最大サイズ
utf8
UTF-8 Unicode
utf8_bin
3
utf8mb4
UTF-8 Unicode
utf8mb4_bin
4
注意:
読み書きインスタンス内のオブジェクトが他の文字セットを使用している場合、分析エンジンへのデータロードには影響を受けませんが、一部の特殊文字は分析エンジンでのクエリ実行時に異常が発生する可能性があります。また、照合順序の違いによりソート結果が一致しない場合があります。

その他の動作説明

分析エンジンにおいて SELECT …… GROUP BY expr を実行した場合の結果は MySQL 8.0 と整合性を保ち、デフォルトではソートされません。これはデフォルトでソートを行う MySQL 5.7 とは異なります。したがって、MySQL 5.7 バージョンで構築された分析エンジンであっても、MySQL 8.0 バージョンで構築された分析エンジンであっても、このロジックは同様に適用されます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック