论坛首页 Java企业应用论坛

不选或许有千万种理由,但是选择hibernate只需要一个理由就足够了

浏览 39194 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-04-30  
HIB性能优化办法。其实跟JDBC性能优化办法。基本过程是
1.客户投诉慢
2.根据投诉慢功能点,查到性能问题代码点(其中这点蛮难的。我们一般都是客户说慢了,我们才去到指定代码跟踪。在开发环境不容易被发现)
3,针对问题点,如果是sql的语句。或者数据库一些设置问题。如果是数据库设置问题我想HIB跟JDBC区别不大吧,如果是sql语句。我想会HIB的人。基本上能控制HIB写的代码。转换出来的SQL是什么样,优化HIB代码也是比较容易的。所以HIB一般性能优化是没有问题。

其实HIB性能不好,还是不能直接调用数据库专属的。有些专属对环境对性能提升比较明显。

最后一点就是HIB表设计,跟JDBC表设计。宗旨是不一样的,有些地方是完全相背的。

0 请登录后投票
   发表时间:2010-04-30  
哥们的头像挺有个性的
0 请登录后投票
   发表时间:2010-04-30  
ssuupv 写道
抛出异常的爱 写道
icewubin 写道
anky_end 写道
hibernate相对比较难以调试的地方就在于他的n+1

比如某个操作缓慢,要从满屏的sql中寻找出执行缓慢的sql不太轻松。

利用工具很容易打出每一句执行的时间。

别没事找事。。。。。
没毛病自找麻烦。
直接到plsql时去看运行效率。。。。


到plsql有时不准,同时一条语句,同样数据量,在生产环境中有时运行700-30000MS之间不等。差别相当的大。

plsql不准的话。。。。
loadrunner吧
个人认为loadrunner有点重。
0 请登录后投票
   发表时间:2010-04-30  
ssuupv 写道
抛出异常的爱 写道
icewubin 写道
anky_end 写道
hibernate相对比较难以调试的地方就在于他的n+1

比如某个操作缓慢,要从满屏的sql中寻找出执行缓慢的sql不太轻松。

利用工具很容易打出每一句执行的时间。

别没事找事。。。。。
没毛病自找麻烦。
直接到plsql时去看运行效率。。。。


到plsql有时不准,同时一条语句,同样数据量,在生产环境中有时运行700-30000MS之间不等。差别相当的大。

生产环境会受OS和db的缓存的影响的。
0 请登录后投票
   发表时间:2010-04-30  
aguai0 写道
哥们的头像挺有个性的

说我的吗?
0 请登录后投票
   发表时间:2010-05-04  
学习了。。
心得:
做大项目,开发的团队大,用hibernate+反范式设计的数据库可从各方面保障开发效率,但是测试起来得谨慎了。。。
然后hibernate的多数据库支持,真换数据库了可不像说的那么轻松,要看做的功能用的HQL语句是不是大多不用改。。。
0 请登录后投票
   发表时间:2011-01-28  
javazeke 写道
有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。

如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库......
0 请登录后投票
   发表时间:2011-01-28  
adaikiss 写道
javazeke 写道
有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。

如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库......

如果基于自己的解决方案平台给客户做项目,多数据库的适应性还是非常非常重要的。
0 请登录后投票
   发表时间:2011-01-28  
哥们,你用了top
还想让hibernate帮你跨数据库?
0 请登录后投票
   发表时间:2011-01-28  
adaikiss 写道
javazeke 写道
有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。

如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库......

大的项目别说换数据库,数据库版本都不会动,连着固定配置的主机和固定版本的OS一起打包
如果因为主机退市,带来的OS和主机升级会立项成立项目组专门进行移植和测试

现在系统自己实现了类似规则引擎的东西,问为啥不用jrule或者drools一类的成型的东西,曰,那时还没什么人用java
也找不到这些

企业级的产品,Linux这种背景尚且花了这么长时间,不要说其他的东西,如果用hibernate能降低很大成本的,说明原来成本本就不大
0 请登录后投票
论坛首页 Java企业应用版

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