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的示例輸出將會有很長的路要走。 –