该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-30
HIB性能优化办法。其实跟JDBC性能优化办法。基本过程是
1.客户投诉慢 2.根据投诉慢功能点,查到性能问题代码点(其中这点蛮难的。我们一般都是客户说慢了,我们才去到指定代码跟踪。在开发环境不容易被发现) 3,针对问题点,如果是sql的语句。或者数据库一些设置问题。如果是数据库设置问题我想HIB跟JDBC区别不大吧,如果是sql语句。我想会HIB的人。基本上能控制HIB写的代码。转换出来的SQL是什么样,优化HIB代码也是比较容易的。所以HIB一般性能优化是没有问题。 其实HIB性能不好,还是不能直接调用数据库专属的。有些专属对环境对性能提升比较明显。 最后一点就是HIB表设计,跟JDBC表设计。宗旨是不一样的,有些地方是完全相背的。 |
|
返回顶楼 | |
发表时间:2010-04-30
哥们的头像挺有个性的
|
|
返回顶楼 | |
发表时间:2010-04-30
ssuupv 写道 抛出异常的爱 写道 icewubin 写道 anky_end 写道 hibernate相对比较难以调试的地方就在于他的n+1
比如某个操作缓慢,要从满屏的sql中寻找出执行缓慢的sql不太轻松。 利用工具很容易打出每一句执行的时间。 别没事找事。。。。。 没毛病自找麻烦。 直接到plsql时去看运行效率。。。。 到plsql有时不准,同时一条语句,同样数据量,在生产环境中有时运行700-30000MS之间不等。差别相当的大。 plsql不准的话。。。。 loadrunner吧 个人认为loadrunner有点重。 |
|
返回顶楼 | |
发表时间:2010-04-30
ssuupv 写道 抛出异常的爱 写道 icewubin 写道 anky_end 写道 hibernate相对比较难以调试的地方就在于他的n+1
比如某个操作缓慢,要从满屏的sql中寻找出执行缓慢的sql不太轻松。 利用工具很容易打出每一句执行的时间。 别没事找事。。。。。 没毛病自找麻烦。 直接到plsql时去看运行效率。。。。 到plsql有时不准,同时一条语句,同样数据量,在生产环境中有时运行700-30000MS之间不等。差别相当的大。 生产环境会受OS和db的缓存的影响的。 |
|
返回顶楼 | |
发表时间:2010-04-30
aguai0 写道 哥们的头像挺有个性的
说我的吗? |
|
返回顶楼 | |
发表时间:2010-05-04
学习了。。
心得: 做大项目,开发的团队大,用hibernate+反范式设计的数据库可从各方面保障开发效率,但是测试起来得谨慎了。。。 然后hibernate的多数据库支持,真换数据库了可不像说的那么轻松,要看做的功能用的HQL语句是不是大多不用改。。。 |
|
返回顶楼 | |
发表时间:2011-01-28
javazeke 写道 有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。
如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库...... |
|
返回顶楼 | |
发表时间:2011-01-28
adaikiss 写道 javazeke 写道 有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。
如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库...... 如果基于自己的解决方案平台给客户做项目,多数据库的适应性还是非常非常重要的。 |
|
返回顶楼 | |
发表时间:2011-01-28
哥们,你用了top
还想让hibernate帮你跨数据库? |
|
返回顶楼 | |
发表时间:2011-01-28
adaikiss 写道 javazeke 写道 有多少项目大到要换数据库的,,,炒作炒作就好了嘛。。
如果你的项目是只卖给一个客户当然不需要, 但是如果你的产品是卖给不同用户的, 而你的用户又不愿意重新购买一个数据库...... 大的项目别说换数据库,数据库版本都不会动,连着固定配置的主机和固定版本的OS一起打包 如果因为主机退市,带来的OS和主机升级会立项成立项目组专门进行移植和测试 现在系统自己实现了类似规则引擎的东西,问为啥不用jrule或者drools一类的成型的东西,曰,那时还没什么人用java 也找不到这些 企业级的产品,Linux这种背景尚且花了这么长时间,不要说其他的东西,如果用hibernate能降低很大成本的,说明原来成本本就不大 |
|
返回顶楼 | |