このトピックでは、MySQL データベースから OceanBase Database の MySQL テナントへのデータ移行中に、CREATE INDEX DDL 操作でサポートされる変換範囲について説明します。
構文
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part: {col_name [(length)] | (expr)} [ASC | DESC]
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
| ENGINE_ATTRIBUTE [=] 'string'
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
index_type:
USING {BTREE | HASH}
algorithm_option:
ALGORITHM [=] {DEFAULT | INPLACE | COPY}
lock_option:
LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}
サポートされる操作
標準インデックスを作成する。
一意なインデックスを作成する。
SPATIAL インデックスを作成する。
重要この DDL 操作は、OceanBase Database V3.2.4 および V4.1.0 のみでサポートされています。
プレフィックス付きインデックスを作成する。
CREATE INDEX i ON t(c1(2));index_option で COMMENT のみ指定する。
サポートされない操作
同期される DDL 文に以下のサポートされていない定義が含まれている場合、変換は失敗し、出力は空の文字列になります。
関数ベースのインデックスを作成する。
無視される句とオプション
同期される DDL 文で以下の句とオプションが指定されている場合、これらは無視され、解決または変換されません。
ASC | DESC
KEY_BLOCK_SIZEWITH PARSERVISIBLE | INVISIBLEENGINE_ATTRIBUTESECONDARY_ENGINE_ATTRIBUTEALGORITHM = DEFAULT | INPLACE | COPYLOCK = DEFAULT | NONE | SHARED | EXCLUSIVE
制限事項
MySQL テナントの OceanBase Database の制限により、同期された DDL 文が変換され、以下のシナリオで MySQL テナントの OceanBase Database で実行されると、エラーが返される場合があります。
MySQL テナントの OceanBase Database は、特定の種類のフィールドへのインデックスの作成をサポートしていません。詳細については、「MySQL データベースと MySQL テナントの OceanBase Database 間の DDL の非互換性」をご参照ください。