mysql pt-online-schema-change,无更改

zte4gxcn  于 2023-02-15  发布在  Mysql
关注(0)|答案(3)|浏览(124)

我在MySQL中有一个表,出于性能/存储的原因,我需要重建它。是否可以使用pt-online-schema-change而不做任何更改,或者总是需要更改?如果是前者,我可以在Liquibase XML中指定它吗?

8ehkhllq

8ehkhllq1#

是的,我经常这样做来整理碎片和恢复磁盘空间在一个表后,大量的更新或删除.任何无操作改变将工作相同的pt-online-schema-change,但我使用选项--alter=FORCE,因为它是ALTER TABLE <name> FORCE的助记符,这将是一个无操作表重组,如果不使用pt-online-schema-change.
我对Liquibase不够熟悉,不知道如何使用它来运行pt-online-schema-change任务。

rbpvctlc

rbpvctlc2#

InnoDB表很少需要OPTIMIZE TABLE
大的DELETEs应该用几种更优化的方法中的一种来执行,其他一些方法本质上会导致碎片整理作为副作用。
Big Deletes

z9ju0rcb

z9ju0rcb3#

可以使用pt-online-schema-change重建表。请使用以下方法:

pt-online-schema-change --execute --alter "ENGINE=InnoDB;" D=<db_name>r,t=<table_name>

相关问题