Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL要更新的多个数据库模式=>;表演_Mysql_Performance - Fatal编程技术网

MySQL要更新的多个数据库模式=>;表演

MySQL要更新的多个数据库模式=>;表演,mysql,performance,Mysql,Performance,我有数千个数据库模式需要更新(在两个不同的表中添加一列、更新一些行和添加3行) 我有两种不同的方法: 1) 将每个架构的名称放在表名称之前 # database A01be91a86 UPDATE A01be91a86.ACTION set CODE_QUALIFICATION.... ALTER table A01e02a697.IMPRESSION add column NAME..... # database blabla .... .... # thousand databases

我有数千个数据库模式需要更新(在两个不同的表中添加一列、更新一些行和添加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.....
目标是限制整个脚本执行所需的时间

最好的方法是什么?第一个还是第二个?或者是我没想到的第三个


谢谢大家

过早优化是万恶之源


目前需要多长时间,需要多长时间?

我认为第一个可能更快,但它将是一个更大的脚本,因此更难编写。为什么不在某个地方恢复数据库备份并试用呢?

别担心,我不是手工编写的。ruby脚本对此负责。从第一行到第二行,都是一行代码。数据库是客户数据库(这里是财务数据)。不想把它们搞得太糟:-)这是一个SAAS应用程序。时间越少越好。我有成千上万的人需要更新。这还为时过早。