频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Hibernate分页会引起的性能问题

来源:CSDN 作者:reker熊 出处:巧巧读书 2008-07-11 进入讨论组
下一页 1 2 

   在使用Hibernate进行分页的过程中,如果你收到如下警告,那么这里就是一个潜在的性能问题点:

WARNING: firstResult/maxResults specified with collection fetch; applying in memory!

  出现这个警告的直接后果是:无论你想要看第几页的数据,从Hibernate打印出的SQL来看它总是查询了所有满足条件的结果。这是为什么呢?来看看这句警告所在的代码,它位于org.hibernate.hql.ast.QueryTranslatorImpl中,部分摘录如下:

view plaincopy to clipboardprint?
QueryNode query = ( QueryNode ) sqlAst;

boolean hasLimit = queryParameters.getRowSelection() != null && queryParameters.getRowSelection().definesLimits();

boolean needsDistincting = ( query.getSelectClause().isDistinct() || hasLimit ) && containsCollectionFetches();

QueryParameters queryParametersToUse;

if ( hasLimit && containsCollectionFetches() ) {

     log.warn( "firstResult/maxResults specified with collection fetch; applying in memory!" );

    RowSelection selection = new RowSelection();

    selection.setFetchSize( queryParameters.getRowSelection().getFetchSize() );

    selection.setTimeout( queryParameters.getRowSelection().getTimeout() );

    queryParametersToUse = queryParameters.createCopyUsing( selection );

}

else {

    queryParametersToUse = queryParameters;

}

更多文章 更多内容请看Hibernate原理与配置Hibernate相关文章专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章