Documentation Home
MySQL 8.0 参考手册  / 第 13 章 SQL 语句  / 13.1 数据定义语句  /  13.1.24 DROP INDEX 语句

13.1.24 DROP INDEX 语句

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

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

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

DROP INDEXindex_name删除表中 命名的索引 tbl_name。此语句映射ALTER TABLE到删除索引的语句。请参阅第 13.1.7 节,“ALTER TABLE 语句”

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

DROP INDEX `PRIMARY` ON t;

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

OFFLINE在 NDB Cluster 中,您可以使用关键字 将索引脱机(这会导致表为集群中的所有 API 节点锁定) 。和 的规则和限制与DROP OFFLINE INDEXDROP ONLINE INDEX相同。您不能使用关键字导致非复制删除通常会脱机删除的索引 :如果没有表复制就无法执行操作,服务器将忽略该关键字。有关更多信息,请参阅 第 18.6.12 节,“在 NDB Cluster 中使用 ALTER TABLE 进行在线操作”ALTER OFFLINE TABLE ... DROP INDEXALTER ONLINE TABLE ... DROP INDEXONLINEDROPONLINE

和 关键字仅在 NDB Cluster 中可用ONLINEOFFLINE尝试在标准 MySQL Server 5.6 版本中使用这些关键字会导致语法错误。和关键字在 MySQL NDB Cluster 7.3 中已弃用ONLINEOFFLINE它们在 MySQL NDB Cluster 7.4 中继续受支持,但计划在未来的 NDB Cluster 版本中删除。

ALGORITHMLOCK可以给出和子句来影响表的复制方法和在修改表的索引时读取和写入表的并发级别。它们的含义与 ALTER TABLE语句相同。有关详细信息,请参阅第 13.1.7 节,“ALTER TABLE 语句”