session.flush()是强制和数据库同步
session.clean()是清除session中的缓存
对于批量数据插入的时候优化:
减少cpu和内存(缓存)占用量
@Test
public void saveAllDo(){
Transaction tx = null;
try{
tx = session.beginTransaction();//开启事务
for(int i=0;i<10000;i++){
Customer customer = new Customer();
customer.setCustomerName("fank"+i);
session.save(customer);
//在50次sql语句的时候强行提交数据
if(i%50==0){
session.flush();
session.clear();
}
}
tx.commit();
}catch(Exception e){
if(tx!=null){
tx.rollback();
}
e.printStackTrace();
}finally{
if(session!=null && session.isOpen()){
session.close();
}
}
}
2.使用原生jdbc进行数据优化
本文介绍了一种通过在批量数据插入过程中使用session.flush()和session.clear()来减少CPU和内存占用的方法,并提供了一个示例代码。此外,还提到了使用原生JDBC进行数据优化的相关内容。
51

被折叠的 条评论
为什么被折叠?



