【发布时间】:2013-11-29 07:26:01
【问题描述】:
我正在使用 Hibernate 在 sybase DB 中插入 100000 条记录……但它需要一个多小时……使用休眠批处理仍然需要相同的时间……有什么方法可以提高性能……我想在 10 分钟内保存 100000 条记录...但无法实现这个目标。
已在配置文件中设置了 hibernate_batch_size。
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
Customer customer = new Customer(.....);
session.save(customer);
if ( i % 20 == 0 ) { //20, same as the JDBC batch size
//flush a batch of inserts and release memory:
session.flush();
session.clear();
}
}
是否可以使用休眠在数据库中插入 100000 条记录。我可以在 20 秒内使用 Ibatis 在 DB 中插入 20000 条记录,但休眠对我来说需要几个小时
【问题讨论】: