Cette rubrique décrit le périmètre de conversion pris en charge pour les opérations DDL CREATE INDEX lors de la migration de données d’une base de données MySQL vers un locataire MySQL d’OceanBase Database.
Syntaxe
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}
Opérations prises en charge
Créer des index standards.
Créer des index uniques.
-
Créer des index SPATIAL.
ImportantSeules les versions V3.2.4 et V4.1.0 d’OceanBase Database prennent en charge cette opération DDL.
-
Créer des index préfixés.
CREATE INDEX i ON t(c1(2)); Spécifier uniquement l’option
COMMENTdansindex_option.
Opérations non prises en charge
Si une instruction DDL à synchroniser contient les définitions non prises en charge suivantes, la conversion échoue et renvoie une chaîne vide.
Créer des index basés sur des fonctions.
Clauses et options ignorées
Les clauses et options suivantes sont ignorées : elles ne sont ni analysées ni converties lorsqu’elles figurent dans les instructions DDL synchronisées.
ASC|DESCKEY_BLOCK_SIZEWITH PARSERVISIBLE | INVISIBLEENGINE_ATTRIBUTESECONDARY_ENGINE_ATTRIBUTEALGORITHM = DEFAULT | INPLACE | COPYLOCK = DEFAULT | NONE | SHARED | EXCLUSIVE
Limites
En raison des limites des locataires MySQL d’OceanBase Database, une erreur peut survenir lors de la conversion et de l’exécution des instructions DDL synchronisées dans les scénarios suivants.
Les locataires MySQL d’OceanBase Database ne permettent pas de créer des index sur certains types de colonnes. Pour plus d’informations, consultez Incompatibilités DDL entre une base de données MySQL et un locataire MySQL d’OceanBase Database.