PolarDB-X 1.0は、MySQLプロトコルおよびMySQLの構造化クエリ言語 (SQL) 構文との互換性が高い。 ただし、PolarDB-X 1.0のSQL文にはいくつかの制限があります。 これは、分散データベースのアーキテクチャが単一インスタンスデータベースのアーキテクチャと異なるためです。 このトピックでは、PolarDB-X 1.0のSQL文の制限について説明します。
SQL文の一般的な制限
- PolarDB-X 1.0は、カスタムデータ型またはカスタム関数をサポートしていません。
- PolarDB-X 1.0は、ストアドプロシージャ、トリガー、またはカーソルをサポートしていません。
- PolarDB-X 1.0は一時テーブルをサポートしていません。
- PolarDB-X 1.0は、BEGIN...END、LOOP...END LOOP、REPEAT...UNTIL...END REPEAT、WHILE...DO...END WHILEなどの複合ステートメントをサポートしていません。
- PolarDB-X 1.0は、IF文やWHILE文などのフロー制御文をサポートしていません。
- PolarDB-X 1.0は外部キーをサポートしていません。
SQL構文の制限
- DDL
- テーブルシャーディング用に
CREATE TABLE tbl_name LIKE old_tbl_name
ステートメントを実行することはできません。 - テーブルシャーディング用に
CREATE TABLE tbl_name SELECTステートメント
を実行することはできません。 - RENAMEステートメントを実行して、一度に複数のテーブルの名前を変更することはできません。
- ALTER TABLEステートメントを実行してシャードキーフィールドを変更することはできません。
- PolarDB-X 1.0は、
CREATE TABLE db_name.tbl_name (...)
などのスキーマ間のデータ定義言語 (DDL) 操作をサポートしていません。
DDLステートメントの詳細については、「DDL」をご参照ください。
- テーブルシャーディング用に
- DML
- PolarDB-X 1.0は、SELECT INTO OUTFILE、INTO DUMPFILE、INTO var_nameのステートメントをサポートしていません。
- PolarDB-X 1.0は、STRAIGHT_JOINまたはNATURAL JOIN操作をサポートしていません。
- PolarDB-X 1.0では、UPDATE SET句のサブクエリはサポートされていません。
- PolarDB-X 1.0はINSERT DELAYEDステートメントをサポートしていません。
- PolarDB-X 1.0は、SQL文での変数の参照と操作をサポートしていません。 たとえば、
SET @ c=1, @ d=@ c + 1; SELECT @ c, @ d
というステートメントは実行できません。 - フレキシブルトランザクションでは、ブロードキャストテーブルに対してINSERT、REPLACE、UPDATE、またはDELETE操作を実行できません。
データ操作言語 (DML) ステートメントの詳細については、「DML」をご参照ください。
- サブクエリ
- PolarDB-X 1.0では、HAVING句またはJOIN ON句のサブクエリはサポートされていません。
- PolarDB-X 1.0は、等号 (=) を演算子として使用するスカラサブクエリのROW関数をサポートしていません。
サブクエリの詳細については、「サブクエリ」をご参照ください。
- データベース管理
- PolarDB-X 1.0は、SHOW WARNINGSステートメントのLIMITとCOUNTの組み合わせをサポートしていません。
- PolarDB-X 1.0は、SHOW ERRORSステートメントのLIMITとCOUNTの組み合わせをサポートしていません。
- PolarDB-X 1.0でサポートされていない演算子
PolarDB-X 1.0は代入演算子をサポートしていません
':='
演算子の詳細については、「演算子」をご参照ください。
- PolarDB-X 1.0でサポートされていない関数
- フルテキスト検索機能。 詳細については、「フルテキスト検索関数」をご参照ください。
- XML関数。 詳細については、「XML関数」をご参照ください。
- グローバルトランザクション識別子 (GTID) 関数。 詳細については、「グローバルトランザクション識別子で使用される関数 (GTID) 」をご参照ください。
- エンタープライズ暗号化関数。 詳細については、「MySQL Enterprise Encryption」をご参照ください。
関数の詳細については、「functions」をご参照ください。
- PolarDB-X 1.0でサポートされていないキーワード
- ミリセコード
- MICROSECOND