PolarDB-X 1.0 は MySQL プロトコルおよび SQL 構文と高い互換性を有します。ただし、分散アーキテクチャにより、単一インスタンスの MySQL データベースには存在しない制約が導入されます。本ページでは、PolarDB-X 1.0 でサポートされていないすべての SQL ステートメントおよび機能を一覧表示します。
一般的な制限事項
以下の MySQL 機能は、PolarDB-X 1.0 の分散的性質によりサポートされていません。分散実行では、すべての操作がシャード間で分解可能かつルーティング可能である必要があります。この要件により、サーバー側の手続き型構文およびステートフルなセッションオブジェクトは、設計上非互換となります。
| 機能 | 詳細 |
|---|---|
| カスタムデータ型 | — |
| ユーザー定義関数 (UDF) | — |
| ストアドプロシージャ | — |
| トリガー | — |
| カーソル | — |
| 一時テーブル | — |
| 複合ステートメント | BEGIN...END、LOOP...END LOOP、REPEAT...UNTIL...END REPEAT、WHILE...DO...END WHILE |
| フローコントロールステートメント | IF、WHILE |
| 外部キー | — |
データ定義言語 (DDL)
以下の DDL 操作はサポートされていません。
| 操作 | 備考 |
|---|---|
CREATE TABLE tbl_name LIKE old_tbl_name | シャード化テーブルではサポートされません |
CREATE TABLE tbl_name SELECT ... | シャード化テーブルではサポートされません |
RENAME TABLE(複数テーブル対応) | — |
ALTER TABLE(シャードキーのフィールド変更) | — |
クロススキーマ DDL(例:CREATE TABLE db_name.tbl_name (...) | DDL は単一スキーマ内でのみ実行可能です |
詳細については、「DDL」をご参照ください。
データ操作言語 (DML)
以下の DML 操作はサポートされていません。
| 操作 | 備考 |
|---|---|
SELECT INTO OUTFILE、INTO DUMPFILE、INTO var_name | ファイル出力および変数出力はサポートされません |
STRAIGHT_JOIN、NATURAL JOIN | — |
UPDATE SET 句におけるサブクエリ | — |
INSERT DELAYED | — |
SQL 内の変数参照(例:SET @c=1, @d=@c+1; SELECT @c, @d | — |
INSERT、REPLACE、UPDATE、またはDELETE をフレキシブルトランザクション内のブロードキャストテーブルに対して実行 | — |
詳細については、「DML」をご参照ください。
サブクエリ
以下のサブクエリパターンはサポートされていません。
| パターン | 備考 |
|---|---|
HAVING 句または JOIN ON 句におけるサブクエリ | — |
ROW 関数を含むスカラー・サブクエリ(演算子として = を使用) | — |
詳細については、「サブクエリ」をご参照ください。
データベース管理
以下の文の組み合わせはサポートされていません。
| ステートメント | 備考 |
|---|---|
SHOW WARNINGS と LIMIT、COUNT | — |
SHOW ERRORS と LIMIT、COUNT | — |
演算子
代入演算子 ':=' はサポートされていません。
詳細については、「演算子」をご参照ください。
関数
以下の関数カテゴリはサポートされていません。
| カテゴリ | MySQL リファレンス |
|---|---|
| 全文検索関数 | 全文検索関数 |
| XML 関数 | XML 関数 |
| グローバルトランザクション ID (GTID) 関数 | グローバルトランザクション ID (GTID) を使用する関数 |
| MySQL Enterprise 暗号化関数 | MySQL Enterprise 暗号化 |
サポートされる関数の一覧については、「関数」をご参照ください。
キーワード
以下のキーワードはサポートされていません。
MILLISECONDMICROSECOND