pt-osc工具的优缺点归纳总结

原理:

根据原表结构创建一个新表;
按照pt-osc的alter语句修改新表;
将原表中的数据copy到新表中去;
通过触发器将原表copy数据期间的数据更新应用到新表中去;
将原表重命名,将新表重命名成原表,然后删除原表。

pt-osc的优点:

执行alter阶段不阻塞读和写。

pt-osc的缺点:

1.原表不能存在触发器,因为pt-osc需要通过触发器将原表copy数据阶段产生的数据#应用到新表去。
2.表必须具有主键和唯一键。
3.原表不能是其他外键的父表,需要添加—alter-foreign-keys-method参数即可。
4.字段属性为NOT NULL时,必须有DEFAULT属性,否则会报错。
5.可能会导致主从数据延迟
6.如果运行过程中报错了,无法从上一个位置继续进行,需要从头开始
7.不支持MySQL5.7的虚拟列功能

你可能感兴趣的:(pt-osc工具的优缺点归纳总结)