【发布时间】:2011-06-17 10:30:39
【问题描述】:
我在 Grails 上使用大批量插入时遇到了很多麻烦。我尝试了用户提出的所有最常见的解决方法(例如 WithTransaction 等),但插入仍然慢得离谱。
我有一个包含大约 500K 个对象的批次。在 Gorm 上,数据库中的对象创建/插入每次插入执行大约 200 毫秒,这显然是不可接受的。 如果我在转储文件中从应用程序生成相关的 SQL INSERT 语句,然后直接在 DBMS 上运行转储文件,每次插入我得到
FileBuffer sqlFile = ...
largeBatch.each{
def obj = createMyObject( it )
String sql = getSQL code for obj insert
sqlFile.write( sql )
}
execute sqlFile directly on JDBC
如何从瞬态对象中获取插入 SQL 代码?
【问题讨论】:
标签: sql grails batch-file grails-orm bulkinsert