zoukankan      html  css  js  c++  java
  • Hibernate 性能优化之抓取策略

    fetch 抓取策略

    前提条件:必须是一个对象操作其关联对象。

      1、 根据一的一方加载多的一方,在一的一方集合中,有三个值:join/select/subselect

      2、根据多的一方加载一的一方, 这种情况不考虑,因为关联对象就一个数据,怎么样都可以
    join 连接  【一次性的把两张表的数据全部查询出来,只发出一条sql语句】
        *  在页面上既包括一的一方的数据,又包括多的一方的数据
        *  数据库的数据量比较小
    select 默认的查询方式    【先加载classes,当得到students的时候,才要加载students】
        使用场景:
            *  分两个页面显示一方的数据和多方的数据
            *  数据库的数据量比较大
    subselect 子查询    【通过需求分析判断,如果存在子查询,则选择该策略能提高效率】
        如果把需求分析翻译成sql语句,用到了子查询,则用subselect   

    抓取策略 懒加载 效果
    join true/false/extra 只发出一条sql语句,懒加载不起作用
    select true/extra 发出n+1条数据,在遍历学生时发出
    false 发出n+1条数据,在加载学生集合时发出
    subString true/extra 发出2条数据,在遍历学生时发出
    false 发出2条数据,在加载学生集合时发出

      

  • 相关阅读:
    WCF 订单服务(2)
    移动应用接口的授权和安全
    数据库服务器死锁的解决方法 (转)
    WCF 订单服务(3)
    sqlservice 表分区方法
    基于.NET解决方案的架构和框架
    IIS7架构原理
    多线程的同步和通信
    【原创】关于wince OS开发面试问题的总结系列之OAL
    【原创】关于noot的学习笔记
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4222706.html
Copyright © 2011-2022 走看看