不要对包含外键的表自动使用pt-online-schema-change

不要对包含外键的表自动使用pt-online-schema-change

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

本文讨论使用pt-online-schema-change修改包含外键的表时的困境和解决方案。工具提供了rebuild_constraints和drop_swap两个选项,以确保外键指向正确的表。作者建议使用rebuild_constraints,避免使用drop_swap和“auto”。

🎯

关键要点

  • 本文讨论使用pt-online-schema-change工具修改包含外键的表时的困境和解决方案。
  • pt-online-schema-change工具提供了rebuild_constraints和drop_swap两个选项,以确保外键指向正确的表。
  • 建议使用rebuild_constraints选项,避免使用drop_swap和auto选项。
  • 使用drop_swap选项时,存在短暂时间内表不存在的风险,可能导致数据丢失。
  • pt-online-schema-change工具的auto选项根据子表的大小自动选择rebuild_constraints或drop_swap。
  • 对于大表,rebuild_constraints会更慢,除非以在线方式进行操作。
  • 在pt-online-schema-change版本3.3.1及以上,使用rebuild_constraints是安全和高效的。
  • 建议用户了解选项并控制使用,而不是依赖auto选项。
➡️

继续阅读