我有数千个数据库架构要更新(添加一列,更新一些行并在 2 个不同的表中添加 3 行)。
我有两种不同的方法:
1) 将每个模式的名称放在表名之前
# database A01be91a86
UPDATE A01be91a86.ACTION set CODE_QUALIFICATION....
ALTER table A01e02a697.IMPRESSION add column NAME.....
# database blabla
....
....
# thousand databases
# database zfc982251d
UPDATE zfc982251d.ACTION set CODE_QUALIFICATION....
ALTER table zfc982251d.IMPRESSION add column NAME.....
2) 在每次更新前连接到数据库模式
# database A01be91a86
connect A01be91a86
UPDATE ACTION set CODE_QUALIFICATION....
ALTER table IMPRESSION add column NAME.....
# database blabla
....
....
# thousand databases
# database zfc982251d
connect zfc982251d
UPDATE ACTION set CODE_QUALIFICATION....
ALTER table IMPRESSION add column NAME.....
目标是限制整个脚本执行的时间
什么是最好的方法?第一个还是第二个?或者也许还有第三个我没有想到的。
谢谢大家
最佳答案
我认为第一个可能会更快 - 但它将是一个更大的脚本,因此更难编写。为什么不在某处恢复数据库的备份并尝试一下?
关于MySQL 多数据库模式更新 => 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3603195/