我通过脚本将数据从一个数据库迁移到另一个数据库。 我没有能力直接在数据库服务器上导出为csv或其他东西。 所以我做了一个脚本来从一个读取行,并在mysql上插入批量。 基本问题是将从服务器recibe的列表转换为需要Mysql进行批量插入的格式,在脚本上生成aux需要花费太多时间,例如40秒为2500值。 但是真的不确定是否可以做出重大改变,因为真的没有在代码上找到任何明显的开销,显然我已经做了两个但实际上我没有找到其他方式。
def query= """SELECT * FROM tablex """.toString()
def fullRowResults = sql.rows(query) as List
fullRowResults =fullRowResults.collate(2500)
fullRowResults.each{ frr ->
def aux=""
frr.each{
def aux2= it.values()
aux2= aux2.collect{
it.replaceAll("'","")
}
aux2=aux2.join("','")
aux2="('"+aux2+"'),"
aux+=aux2
}
然后whit aux生成,我插入MySQL
由于
答案 0 :(得分:0)
好吧,不能解决这个问题,但是在石英作业中实现它,使其并发,并部署5个vms并在一天内完成该过程。 蛮力。