13.1.25 DROP INDEX 语句

DROP INDEX index_name ON tbl_name
    [algorithm_option | lock_option] ...

algorithm_option:
    ALGORITHM [=] {DEFAULT | INPLACE | COPY}

lock_option:
    LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}

DROP INDEX从 table* tbl_name 中删除名为 index_name *的索引。该语句 Map 到ALTER TABLE语句以删除索引。参见第 13.1.8 节“ ALTER TABLE 语句”

要删除主键,索引名称始终为PRIMARY,必须将其指定为带引号的标识符,因为PRIMARY是保留字:

DROP INDEX `PRIMARY` ON t;

NDBtable 的可变宽度列上的索引被联机删除;也就是说,没有任何 table 复制。尽管该 table 在操作期间未针对相同 API 节点上的其他操作进行锁定,但仍未针对其他 NDB Cluster API 节点的访问锁定该 table。只要服务器确定有可能这样做,服务器就会自动完成此操作。您不必使用任何特殊的 SQL 语法或服务器选项即可使其发生。

可以提供ALGORITHMLOCK子句以影响 table 复制方法以及在修改 table 索引时用于读写 table 的并发级别。它们的含义与ALTER TABLE语句的含义相同。有关更多信息,请参见第 13.1.8 节“ ALTER TABLE 语句”

NDB Cluster 以前使用ONLINEOFFLINE关键字支持联机DROP INDEX操作。这些关键字在 MySQL NDB Cluster 7.5 和更高版本中不再受支持,它们的使用会导致语法错误。相反,MySQL NDB Cluster 7.5 和更高版本使用与标准 MySQL Server 相同的ALGORITHM=INPLACE语法支持联机操作。有关更多信息,请参见第 21.5.11 节“ NDB 集群中使用 ALTER TABLE 的在线操作”