Hibernate笔记=>检索策略 hibernate优化策略

文 / 喝口水就走
Hibernate提供以下检索策略:==> 立即检索==> 延迟检索==> 迫切左外连接检索总结一下优缺点和优先考虑使用的场合1、立即检索:优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便地从一个对象导航到与它关联的对象。缺点:[1]select语句数目多[2]可能会加载应用程序不需要访问的对象,浪费时间和内存空间优先考虑使用的场合:[1]类级别[2]应用程序需要立即访问的对象[3]使用了二级缓存2、延迟检索:优点:由应用程序决定需要加载哪些对象,可以避免执行多余的select语句,以及避免加载应用程序不需要访问的对象。因此能提高检索性能,并且节省内存空间缺点:应用程序如果需要访问游离状态的代理类实例,必须保证它在持久化状态时已经被初始化。优先考虑使用的场合:[1]一对多或者多对多关联[2]应用程序不需要立即访问或者根本不访问的对象3、迫切左外连接检索:优点:[1]对应用程序完全透明,不管对象处于之久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它关联的对象。[2]使用了外连接,select语句数目少缺点:[1]可能会加载应用程序不需要访问的对象,浪费内存空间[2]复杂的数据表连接会影响检索性能优先考虑使用的场合:[1]多对一或者一对一关联[2]应用程序需要立即访问的对象[3]数据库系统具有良好的表连接性能简单总结一下对于立即检索和延迟检索策略,在查询每张表时使用单独的select语句,每个select语句都很简单,查询速度快,但是select数目过多,增加了DB访问频率。对于迫切左外连接检索策略,运用了SQL外连接的查询功能,select语句数量少,可减少DB访问频率,但是每个select语句的复杂度增加了,DB系统建立表之间的连接也是耗时的操作,所以查询效率会有所下降。对于关联级别的立即检索和延迟检索,可以设置批量检索数量,以减少select语句数量,从而改善性能。<class>和<set>的batch-size属性的合理取值应该在3-10之间。对于实际应用,为了选择合适的检索策略,需要测试应用程序的各个用例,跟踪使用不同检索策略的Hibernate执行SQL的语句。可以把Hibernate.properties文件中的show_sql属性设为true,使得hibernate在运行时输出执行的SQL语句。根据特定的关系模型,评估各种查询语句的性能,比较到底是使用外连接查询速度快,还是使用分开的select语句查询速度快。select * from CUSTOMERS left outer joinORDERS on CUSTOMERS.ID=ORDERS.CUSTOMER_ID whereCUSTOMERS.ID=1;select * from CUSTOMERS whereID=1;select * from ORDERS whereCUSTOMER_ID=1;不断的调节检索策略,以便在减少select语句数量和降低select语句复杂度之间找到一个平衡点,获取最佳的检索性能。具体MappingXML中的配置了解了各自的优缺点,该到动手配置的时候了。以下几个属性用来控制检索策略:lazy:可选值为true和false,在<class>和<set>中有此属性,默认值为false,如果为true表示延迟检索。outer-join:可选值为auto,true和false,在<many-to-one>,<one-to-one>和<set>中有此属性,其中在<many-to-one>和<one-to-one>中默认值为auto,在<set>中默认值为false。如果为true表示使用迫切左外连接策略。batch-size:在<class>和<set>中有此属性,默认值为1,设定批量检索的数量。如果设定此项,合理的取值在3~10之间的整数。仅适用于关联级的立即检索和延迟检索。

其他相关文章

Hibernate组成关系的映射
Hibernate批量更新和删除问题
Hibernate缓存技术
Hibernate笔记=>检索策略 hibernate优化策略
Hibernate Java/.net对象的状态
Hibernate Session缓存
Hibernate 检索策略
Hibernate 检索相关细节问题
Hibernate 继承关系的映射
Hibernate 一对多关系的映射
Hibernate 对象与关系的映射基础
Hibernate跑起来
Hibernate的核心接口

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/270630.html

更多阅读

医学信息检索策略实例 信息检索实例应用

检索课题:肥厚型心肌病磁共振成像与分子遗传学特征的关联研究1、系统收集HCM心脏磁共振影像学资料,并对其进行流行病学总结和分析,为大规模临床防治提供指导;2、将肥厚型心肌病心脏磁共振影像学特征、分子遗传学特征、临床表型及预后进

hibernate优化策略 优化经营策略,提升企业实力!

     企业常处于残酷的生存之中,可谓是真正的战场,是弱肉强食之争。那里潜在的规则是胜者为王、败者为寇,所以为生存人人无所不用其极,甚而连狡猾且卑劣的花招也似乎天经地义了。然而,对此我却不以为然。企业经营中,战略战术是必要的

构建生本课堂的策略 构建合作策略

     对于任何组织来说,做事的过程往往需要多人精诚合作,而成果的分享自然会涉及多方矛盾竞争。处理好合作做事与竞争分利的关系,关键在于识别竞争与合作的前提。从实践操作的角度看,竞争与合作是一体两面,破坏合作的前提自然会加剧

产品定价策略 八大定价策略,决定酒水未来

     在激烈的市场竞争中,白酒定价战略战策,对企业、商家至关重要。白酒企业生产的产品、商家的商品销售定价必须考虑诸多因素,方使产品价格于社会、于消费者、于企业、都合情合理。因此,定价就显的非常重要。这里介绍九种:  一、

最优捕鱼策略 基于外包策略的运营系统最优

   1.外包策略的价值最大原理  将一部分业务和工作外包出去,主要体现在两个方面的优点。一是如果一部分业务的生产资源在外部很容易得到,而且价格比较低廉,那么无论这种业务自己是否熟悉,都可以将这一部分业务外包出去,把自己的资源

声明:《Hibernate笔记=>检索策略 hibernate优化策略》为网友含泪不言败分享!如侵犯到您的合法权益请联系我们删除