0
我正在通过脚本将数据从一个数据库迁移到另一个数据库。 我没有可能性作为csv或直接在数据库服务器上导出。 所以我做了一个脚本来读取一个行,并在MySQL上插入批量。 基本问题是将从服务器重新引导的列表转换为需要Mysql进行批量插入的格式,在脚本上生成aux需要太多时间,例如对于2500个值需要40秒。 但是真的不知道是否可以做出重大改变,因为在代码中没有发现任何明显的开销,显然我做了两次,但实际上我没有找到其他方式。优化Mysql批量查询的生成
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
}
然后白衣辅助生成,我在插入MySQL的
感谢
不幸的是,这很难理解你在做什么。记住我们没有你的数据库,我们不能运行你的代码,所以我们依靠清晰的理解发生了什么。请演示**示例**输出。例如,将sql.rows(query)作为List的示例输出将会有很长的路要走。 –