当前位置: 代码迷 >> Java Web开发 >> 生手关于Spring管理Hibernate下查询性能的疑问
  详细解决方案

生手关于Spring管理Hibernate下查询性能的疑问

热度:91   发布时间:2016-04-16 21:57:58.0
新手关于Spring管理Hibernate下查询性能的疑问
我这么两段代码:
1、


Query query = Dao.createQuery("from table");
list = query.list();
for(Table item : list){
    Query query2 = Dao2.createQuery("select id from table2");
    list = query2.list();
 }

2、

Query query = Dao.createQuery("select t, (select id from table2) from table t");
list = query.list();

以上两段代码数据量相同
有这么几个疑惑:
1、这两端代码在创建连接的时间、连接数据库的时间、数据库连接数、数据库运行压力上有什么区别吗?
2、第一种是一直使用一个数据库连接还是会一直申请数据库连接呢?
3、第一种在不修改代码的情况下有可能通过Spring配置来优化性能吗?
------解决方案--------------------
差别会很大

第一个访问数据库 1*m次
第二个访问1次 
------解决方案--------------------
一个事务中只会有一个Session,如果你是在一个事务中进行管理的,那么只有一个Session,当然,你会向数据库发起m次请求,因为你查询了m次
  相关解决方案