(04) 调优碰上Hibernate,真心无力

原创 2013年12月03日 21:23:32
     曾经有人让我对一个数据库的优化给点建议. 一个典型的J2EE项目,标配的SSH框架,好像一切都很美好。可面对这个Hibernate,个人感觉DBA真心无力啊. 
      它把数据库的东东映射成类,使用HSQL,然后可以自动生成SQL。或许对Java或C#开发人员来说,Hibernate或Nhibernate是个不可多得的东东,认为它可以利用缓存来提高系统运行效率.还可以跨数据库.总之好处多多,所以用得很广。
     我没认真研究过这类ORM,但很有疑问.
     1. 映射成类,利用缓存来提高系统运行效率
       虽然我没验证过,但在数据库中直接用函数或存储过程效率难道不更高?
     2. 跨数据库?
       真正项目中,数据库换来换去或要支持多数据库的相对还是比较少.
       我更多的是发现为了框架而框架的多些. 为了这个可能用不上的特性而把数据库大部份特性给报废掉?何必呢.
  3.很重要的一点.HSQL自动生成的SQL,让DBA功力全废的感觉,学了SQL调优十八法,硬是没地方使劲.
 憋得难受啊. 只能从表设计,索引等这些方面入手,但这些通常都要开发配合,哪是那么好弄的?
   
      对于已弄好的库咱没办法,那从库设计着手有没办法呢. 我去百度百科查了下Hibernate
数据库设计的原则:
数据库设计
a) 降低关联的复杂性
b) 尽量不使用联合主键
c) ID的生成机制,不同的数据库所提供的机制并不完全一样
d) 适当的冗余数据,不过分追求高范式
     按这种数据库设计思想,表和表关联需要以简单为主,以便于分成很多一个个的小类。开发时,业务逻辑稍微复杂或与数据库交互较多,前面开发的会写得累,数据库性能也不高,所以再次回到第一个问题,在数据库中直接用函数或存储过程效率难道不更高?
  或者说随着系统上线模块越多,业务越复杂,这种方式看起来都会很累.
而且这种方式,以后真碰到性能瓶颈. 将只能从开发端着手.数据库端基本无能为力.但开发端的优化真正碰到大数据量时.呵呵。呵呵。
     不要认为大数据量不常见,实际上现在的数据量很容易就上去了。大数据时代已经到来。
 
     不过不管怎么说它,SSH已成为标配,成功的项目有很多很多.但在我角度上,这是一种强开发,弱数据库的方式.它有它的价值,但至少我不太喜欢它. 

MAIL:xcl_168@aliyun.com
Blog:http://blog.csdn.net/xcl168
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JVM学习04-内存调优

转载自:http://blog.csdn.net/cutesource/article/details/5907418 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用...

hibernate 调优

  • 2015年03月10日 22:38
  • 7KB
  • 下载

hibernate性能调优: 一

1.引言 Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。 在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时...

如何进行HIBERNATE性能调优

大体上,对于HIBERNATE性能调优的主要考虑点如下: Ø 数据库设计调整 Ø HQL优化 Ø API的正确使用(如根据不同的业务类型选用不同的集合及查询API) Ø 主配置参数(日志,查询...

性能优化之Hibernate缓存讲解、应用和调优

近来坤哥推荐我我们一款性能监控、调优工具——JavaMelody,通过它让我觉得项目优化是看得见摸得着的,优化有了针对性。而无论是对于分布式,还是非分布,缓存是提示性能的有效工具。     数据层是E...

加速你的Hibernate引擎(下) .****************性能调优

Hibernate是 最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得 好却是需要很多时间和经验的。通过...

Hibernate JDBC比较及系统调优

Hibernate与JDBC比较: 第一:Hibernate作为ORM,有一个ORM固有的问题,就是由于为了持久对象的同步,不能够使用批量删除和批量更新的sql,只能按照主键一条条来操作。因此效...
  • mlc0202
  • mlc0202
  • 2012年12月30日 22:18
  • 618

加速你的Hibernate引擎(上) .********************性能调优

Hibernate是 最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得 好却是需要很多时间和经验的。通过...

【系统性能优化】Hibernate调优

基础系统的学生信息维护页面,查询显示学生信息,但每次查询过程都很慢,所以对该部分进行优化.   Hibernate调优是使用SSH框架很常见的问题,一般可以从以下几方面考虑: 一、数据库设计调整...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(04) 调优碰上Hibernate,真心无力
举报原因:
原因补充:

(最多只允许输入30个字)