在 MySQL 中删除索引并不会自动回收磁盘空间,因为删除索引仅仅是将索引从数据结构中移除,而不是将磁盘上的索引文件删除。如果想要回收磁盘空间,需要手动执行以下步骤:

1.确定要删除的索引的名称和所在的表。

2.使用以下命令查看索引文件的大小:

SHOW TABLE STATUS WHERE Name='table_name';

其中 table_name 是要删除索引的表的名称。

3.使用以下命令删除索引:

ALTER TABLE table_name DROP INDEX index_name;

其中 table_name 是要删除索引的表的名称,index_name 是要删除的索引的名称。

4.再次使用以下命令查看索引文件的大小:

SHOW TABLE STATUS WHERE Name='table_name';

5.如果索引文件大小没有变化,则需要使用以下命令进行优化:

OPTIMIZE TABLE table_name;

这个命令将重建表并回收未使用的空间。