假设我在一个3节点的Percona集群上有一个相当大(100 on )的INNODB表,它使用innodb_file_per_table=1,每个节点有大约80 on的buffer_pool,并且使用ext4。我想在不引起任何全局锁的情况下删除这个大表。我采用这种方法:
pt-archiver从表中删除所有行。此时,表是空的,但是该表的innodb文件仍然是100 is。DROP TABLE tablename我会因为ws-rep或者Innodb必须通过LRU列表并丢弃属于这个表空间的页面而获得任何全局锁吗?
发布于 2017-10-17 04:24:30
您使用的是什么版本的MySQL?
我会做一个重命名表,然后删除块中的行(类似于循环中的DELETE FROM TABLE LIMIT 5000; ),一旦它是空的,您应该能够删除它。
根据操作所需时间、从复制落后或影响其他查询性能,将限制值向上或向下调整。
如果它是一个空的桌子,那么不,它不应该造成长锁。
https://dba.stackexchange.com/questions/188001
复制相似问题