對於Grails上的大插入批次,我有很多麻煩。我嘗試了用戶提出的所有最常見的解決方法(比如WithTransaction等),並且插入仍然很慢。大批量插入:如何從Grails獲取INSERT SQL代碼?
我有一批約500K的對象。在Gorm上,DB中的對象創建/插入每插入約200毫秒,這顯然是不可接受的。 如果我從轉儲文件中的應用程序生成相關的SQL INSERT語句,然後直接在DBMS上運行轉儲文件,則每插入1毫秒會得到<,這更像它。 爲了使該批次線上,我想這個解決方案(僞Groovy代碼)的:
FileBuffer sqlFile = ...
largeBatch.each{
def obj = createMyObject(it)
String sql = getSQL code for obj insert
sqlFile.write(sql)
}
execute sqlFile directly on JDBC
我怎樣才能得到一個短暫的對象插入SQL代碼?
感謝。是否可以提取Hibernate在GORM中生成的SQL代碼? – Mulone