本文為您介紹遷移 MySQL 資料庫的資料至 OceanBase 資料庫 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}
支援的範圍
支援建立普通索引。
支援建立 UNIQUE 索引。
支援建立 SPATIAL INDEX。
重要OceanBase 資料庫僅 3.2.4 和 4.1.0 版本支援。
支援建立首碼索引。
CREATE INDEX i ON t(c1(2));
index_option 中僅支援指定 comment。
不支援的範圍
重要
如果同步的 DDL 包含以下不支援的定義,則整個建表語句會轉換失敗(輸出空)。
不支援建立函數索引。
忽略的屬性
重要
如果同步的 DDL 包含以下不支援的定義,則這些屬性將不會被解析和轉換,最終會被忽略。
不支援指定 ASC / DESC 關鍵字。
不支援指定
KEY_BLOCK_SIZE
。不支援指定
WITH PARSER
。不支援指定
VISIBLE | INVISIBLE
。不支援指定
ENGINE_ATTRIBUTE
。不支援指定
SECONDARY_ENGINE_ATTRIBUTE
。不支援指定
ALGORITHM = DEFAULT | INPLACE | COPY
。不支援指定
LOCK = DEFAULT | NONE | SHARED | EXCLUSIVE
。
使用限制
重要
由於 OceanBase 資料庫 MySQL 租戶本身的限制,如果存在以下情境,同步的 DDL 被成功轉換後,執行到 OceanBase 資料庫 MySQL 租戶可能會報錯。
OceanBase 資料庫 MySQL 租戶不支援將索引建立在某些特定欄位類型上。詳情請參見 MySQL 資料庫和 OceanBase 資料庫 MySQL 租戶的 DDL 不相容點。