这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。
文档提及用 OPTIMIZE TABLE 命令,OPTIMIZE TABLE 会锁表,且锁的时候有些长;
当前场景是有个订单表,总数据量有 5000 多万数据,有些前期产生的订单不需要再用到,要把它迁移到冷数据库保存,数据已经迁移完然后在原表删除这部分数据,但是表空间还是占用原来的大小,因为订单表读写都是高频操作,所以不能停机维护;
请问各位 DBA 大神有没有在不停机维护的情况下释放表空间?
1 条回复 • 2024-03-05 20:07:15 +08:00
![9y7cz863P00C7Lie](https://cdn.v2ex.com/gravatar/b945e1f14a73693e979dc19fb6ec97c1?s=48&d=retro) |
|
1
9y7cz863P00C7Lie 349 天前 1
InnoDB 的 OPTIMIZE TABLE 只在操作的开始和结束的时候短暂获取表锁,中间执行的过程中是可以并发读写的。
|