产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
# 方式一:使用 CREATE INDEX 语句CREATE [UNIQUE] INDEXindex_name ON tbl_name (column_names)[index_option][algorithm_option];# 方式二:使用 ALTER TABLE 语句ALTER TABLE tbl_name ADD{ [UNIQUE] {INDEX | KEY}| PRIMARY KEY}index_name (column_names)[index_option][algorithm_option];index_option: {| COMMENT 'string'| {VISIBLE | INVISIBLE}}algorithm_option:ALGORITHM [=] {DEFAULT | INPLACE | COPY}
COMMENT 'string':为索引添加注释说明VISIBLE | INVISIBLE:设置索引是否对优化器可见ALGORITHM [=] {DEFAULT | INPLACE | COPY}:指定创建索引的算法DEFAULT:由系统自动选择最优算法INPLACE:在线创建,不阻塞读写(推荐)COPY:拷贝表数据创建索引,默认不会阻塞读写操作# 创建测试表CREATE TABLE sbtest1 (id int, v1 int, v2 int, v3 int, v4 int);# 截止迭代21.2.3,暂不支持online add pkALTER TABLE sbtest1 ADD PRIMARY KEY(id), ALGORITHM = COPY;ERROR 8528 (HY000): Online alter table tdsql.sbtest1 failed with 'Not support table without primary key', please set variable 'tdsql_use_online_copy_ddl' to 'false' if no write during alter is acceptable.# 显示设置索引 COMMENT,可见性和算法CREATE UNIQUE INDEX idx_v1 ON sbtest1 (v1) COMMENT 'v1_index' INVISIBLE ALGORITHM = INPLACE;ALTER TABLE sbtest1 ADD INDEX idx_v2 (v2) COMMENT 'v2_index' VISIBLE, ALGORITHM = INPLACE;# 默认使用 INPLACE 算法CREATE UNIQUE INDEX idx_v4 ON sbtest1 (v4);ALTER TABLE sbtest1 ADD INDEX idx_v3 (v3);
文档反馈