💡
原文英文,约1100词,阅读约需4分钟。
📝
内容提要
在大表中更改列的数据类型通常很麻烦,但我们可以通过创建新列并逐步迁移数据的方式来减少影响。在此示例中,我们将整数列更改为大整数列。通过设置超时时间和错误停止选项,我们可以在几乎在线的情况下完成此操作。
🎯
关键要点
- 在大表中更改列的数据类型通常很麻烦,可能会导致整个表被锁定。
- 通过创建新列并逐步迁移数据,可以减少对表的影响。
- 示例中将整数列更改为大整数列,避免了长时间的锁定。
- 首先创建一个新的空列以存储大整数数据。
- 使用SQL脚本设置超时时间,确保不会造成过多的锁定。
- 创建函数和触发器以将新插入和更新的行的值复制到新列。
- 使用支持表来帮助填充新列的数据,避免大规模更新造成的性能问题。
- 数据分批填充,以减少对数据库的压力。
- 完成数据填充后,进行列的切换操作,确保锁定时间最小化。
- 最终成功将列的数据类型从整数更改为大整数,且锁定时间少于一秒。
➡️