如何在没有全局锁的情况下顺利删除 8 GB InnoDB 表

Zty*_*tyx 5 mysql innodb

MySQL 版本:5.1.63。

我即将删除一个更大的 ~8 GB InnoDB 表。上周,我在另一台机器上放下了一个四倍大的表,一个全局锁启动了,让我们停了大约 90 秒。我怀疑这与table_cache锁定有关。任何人都对如何使这个 DROP 更顺利地提出意见?首先小批量删除,然后删除,TRUNCATE最后删除DROP TABLE?显然,如果可能的话,我想将此数据库保留在生产中。我也一直在考虑在下降之前缩小缓冲池。

我很想听听您的意见。

Den*_*ker 4

DROP TABLE总是需要一些全局锁。我会按照您在问题中描述的方式进行操作:尽快安全地删除行(不要过多地扰乱磁盘 IO 和各种缓存,也要小心复制),然后删除它。