论坛首页 Java企业应用论坛

为何每次问到传统sql如何调优就没人回答?另附几则hibernate性能优化实践

浏览 59346 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-03-23  
看了各位高手的谈论,虽然很多问题都是在争论,但还是受益匪浅。
我身边有高手也谈过说,不适合hibernate,因为sql不好控制。
我做的许多项目都用hibernate,当然也都是数据量、查询、并发都不多的系统。
用了一年,最大的表数据也不过是百万级的。
但还是感觉用起来许多困难,主要是大家都不精通。
lazy的问题,缓存的问题,还莫名其妙的打印各种警告的日志。
搞的大伙头都大了。
我觉得用这个,最好团队里有这个比较精通的高手。要不然还是朴实一点,用jdbc。
0 请登录后投票
   发表时间:2010-03-23  
看了半天还是没有我在之前帖子中问的“啥是大项目”之类的,给出“何为高并发”的定义,连模糊的都没有。

而且通常举出的例子都是些极端的例子,如“join 10张千万级的表”,好吧就算是有,我想请问这样的例子有多少。
多数反对的人通常将hibernate放到了sql的对立面,但是实际的情况却不是,hibernate是来帮助我们的,他不是要隔离sql。

至于说hibernate不适用税务,银行之类的,我想问下这一类是否指金融类的系统,在下在参与保险系统中就是用hibernate,数据库中最大的表数据超过1亿。
如果这例子不算,那好吧,算我没有说。

至于很多系统不用hibernate,那么就给分析为啥不用,不能说不用就是因为hibernate不行。

要是这么说,就像说:因为java不能读取到cpu等硬件序列号,所以java不行,咱们用c开发,即使系统中要用读取cpu等硬件序列号的地方仅有一处。


btw:没有想到hibernate的帖子会这么火,大约只有在04年时候javaeye才有这样的盛况吧

0 请登录后投票
   发表时间:2010-03-23  
是因为公司领导想降低成本
领导又不愿意学习
就决定hibernate复杂
hibernate其实只要搞清数据库基本概念,认真学哈不复杂

可是没有办法

你想改变公司 改变社会难

我还想不交社保 可是政府不让哦 不是美国共和党
0 请登录后投票
   发表时间:2010-03-23  
改变你能改变的吧
0 请登录后投票
   发表时间:2010-03-23  
抛出异常的爱 写道
jiangduxi 写道
其实我就觉得纳闷了,每个人对武器的爱好不同。比如有人说屠龙好有人说倚天好,还有人说杨过的那把重剑好!任何东西都没有觉得的好,用的人顺手就是好的。Hibernate 固然有它的好处,JDBC .. Spring JDBC等也有他的好处。为什么大家一定要去说那个好坏呢?用的人觉得了改玩意的好坏。没必要去争。最多能够将Hibernate最适合什么,怎么把它的优点发挥到最大。我觉得这个比较重要。至于好坏。我觉得没什么好,没什么坏。只是那个更适合当时情况。

问题是如果TEAM用了hibernate那么对hibernate不爽的人就要被使用hibernate

linliangyi2007 写道
搞不懂,楼上一定要举出一些特例来证明Hibernate不行,不知道居心何在?

试问对于95%以上的中国程序员而言,Hiberante真存在问题嘛?

没人说Hiberante啥都OK的啊?还是说人的问题要比工具的问题更加突出一些?

hibernate  用set变update语句的问题
困扰过几乎我见过的每个使用过hibernate的人员。
没有人在第一时间会知道为什么。
都是在出现后查出来的
长的1个月后项目结束后发现问题根源。
短的用了1周去找项目中误用的地方


我觉得这个沟通问题倒是很重要。如果处处被team和谐。我估计这个贴也是口水战。而且火药味针对蛮重的。
0 请登录后投票
   发表时间:2010-03-23  
最建议用的人往往对hibernate只是作过demo没有实践
0 请登录后投票
   发表时间:2010-03-23  
抛出异常的爱 写道
最建议用的人往往对hibernate只是作过demo没有实践


这个评论有失“异常哥”的光辉形象啊
0 请登录后投票
   发表时间:2010-03-23  
很多人说不能用hibernate做银行的系统,可能我是比较另类的;我做的银行系统都是用hibernate,不过也不是很大,单表几个亿数据而已,没觉得性能有什么问题,很一般的服务器,4G内存,2个CPU的刀片机.
0 请登录后投票
   发表时间:2010-03-23   最后修改:2010-03-23
linliangyi2007 写道
抛出异常的爱 写道
最建议用的人往往对hibernate只是作过demo没有实践


这个评论有失“异常哥”的光辉形象啊

我咬着后槽牙说。。。
某个表100多个字段。。。。
恶心的我把它们分成N个小实体类
一个大类下还有一个包专门放它的组成类的包。
。。。。。。。。。。。
还好当时没有用openInview
不然我都不知道怎么死的。
PS:EJB项目的二期。
0 请登录后投票
   发表时间:2010-03-23  
抛出异常的爱 写道
linliangyi2007 写道
抛出异常的爱 写道
最建议用的人往往对hibernate只是作过demo没有实践


这个评论有失“异常哥”的光辉形象啊

我咬着后槽牙说。。。
某个表100多个字段。。。。
恶心的我把它们分成N个小实体类
一个大类下还有一个包专门放它的组成类的包。
。。。。。。。。。。。
还好当时没有用openInview
不然我都不知道怎么死的。
PS:EJB项目的二期。


这就是你的实践?字段多和OpenSessionInView有啥关系?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics