小弟有一事不明,最近在做hibernate性能优化测试,在hibernate中引入连接池c3p0后,发现性能没有提升,反而下降了,向大虾请教原因和改进方法
测试代码: @Test
public void testHQL_01() {
long start = System.currentTimeMillis();
sf = new AnnotationConfiguration().configure().buildSessionFactory();
for (int i = 0; i < 60; i++) {
Session session = sf.openSession();
session.beginTransaction();
Query q = session.createQuery("from Category");// 注意对应的是对象名,而不是表名
List<Category> categories = (List<Category>) q.list();
for (Category c : categories) {
System.out.println(c.getName());
}
session.getTransaction().commit();
session.close();
}
long end = System.currentTimeMillis();
System.out.println("耗用时间=" + (end - start));
测试代码: @Test
public void testHQL_01() {
long start = System.currentTimeMillis();
sf = new AnnotationConfiguration().configure().buildSessionFactory();
for (int i = 0; i < 60; i++) {
Session session = sf.openSession();
session.beginTransaction();
Query q = session.createQuery("from Category");// 注意对应的是对象名,而不是表名
List<Category> categories = (List<Category>) q.list();
for (Category c : categories) {
System.out.println(c.getName());
}
session.getTransaction().commit();
session.close();
}
long end = System.currentTimeMillis();
System.out.println("耗用时间=" + (end - start));
buildSessionFactory一般只会初始化时做一次,这里面可能包含了初始化连接池的步骤。