我试图通过HibernateTemplate将数据保存到MySql本地数据库中 -
getHibernateTemplate().execute(new HibernateCallback<Void>() {
@Override
public Void doInHibernate(Session session) throws HibernateException, SQLException {
for (TimeInvocationStatistics stat : statistics) {
session.persist(stat);
}
session.persist(workloadProcessDescriptiveStatistics);
session.flush();
return null;
}
});
数据量并不是很大,但是这个操作需要超过60秒的时间。我尝试过对它进行剖析——如下图所示(图片分辨率高,可使用此链接查看)。
从栈跟踪中可以看出,session.flush()(第二行)运行得很慢,我该如何改善它?这可能是MySql服务器的问题吗?
更新:发现一个有趣的线程,请参考hibernate论坛中的解决方案。