Topik ini menjelaskan ruang lingkup konversi yang didukung untuk operasi DDL CREATE INDEX selama migrasi data dari database MySQL ke tenant MySQL di OceanBase Database.
Sintaksis
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}
Operasi yang Didukung
Membuat indeks normal.
Membuat indeks unik.
Membuat indeks SPATIAL.
PentingHanya OceanBase Database V3.2.4 dan V4.1.0 yang mendukung operasi DDL ini.
Membuat indeks berawalan.
CREATE INDEX i ON t(c1(2));Menentukan hanya COMMENT dalam index_option.
Operasi yang Tidak Didukung
Jika pernyataan DDL yang akan disinkronkan mengandung definisi berikut yang tidak didukung, konversi akan gagal dan keluarannya adalah string kosong.
Membuat indeks berbasis fungsi.
Klausa dan Opsi yang Diabaikan
Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi ketika ditentukan dalam pernyataan DDL yang disinkronkan.
ASC | DESC
KEY_BLOCK_SIZEWITH PARSERVISIBLE | INVISIBLEENGINE_ATTRIBUTESECONDARY_ENGINE_ATTRIBUTEALGORITHM = DEFAULT | INPLACE | COPYLOCK = DEFAULT | NONE | SHARED | EXCLUSIVE
Batasan
Karena batasan tenant MySQL di OceanBase Database, kesalahan mungkin terjadi ketika pernyataan DDL yang disinkronkan dikonversi dan dieksekusi di tenant MySQL di OceanBase Database dalam skenario berikut.
Tenant MySQL di OceanBase Database tidak mendukung pembuatan indeks pada jenis bidang tertentu. Untuk informasi lebih lanjut, lihat Ketidaksesuaian DDL antara database MySQL dan tenant MySQL di OceanBase Database.