Hibernate 和 JDBC 性能? [关闭]

2024-03-01

目前,我正在将我的 java web 应用程序从 JDBC 切换到 Hibernate,在我当前使用 JDBC 的实现中,我将应用程序初始化时的静态数据加载到静态变量中,这样我就不必每次需要一些静态数据时都直接访问数据库,现在切换到休眠,我正在考虑摆脱这些静态变量,因为我研究休眠将加载的数据保存在缓存中。

我对休眠相当陌生,所以我不确定从当前方法切换到休眠是否会带来任何性能改进。我将进一步研究休眠缓存并运行一些性能测试,看看哪种方法更好,但只是想了解其他人对这两种方法性能的看法。

Thanks.


JDBC 总会给出更好的性能对于大多数数据库供应商来说,与 Hibernate 相比。您可以检查下面链接中给出的比较。他的结论是,在查询行数较少的表时,Hibernate 速度很快,否则 JDBC 会更好:
http://phpdao.com/hibernate_vs_jdbc/ http://phpdao.com/hibernate_vs_jdbc/

另一个好的性能统计数据可以在 Hibernate 论坛讨论中找到:

它指出了由于使用 Hibernate 而造成的性能影响如下(请注意,这可以通过根据需要调整 Hibernate 来改进:

Objects: 8 - Hibernate: 10ms / Direct JDBC: 10ms = Ratio: 1.0 
Objects: 16 - Hibernate: 10ms / Direct JDBC: 0ms = Ratio: Infinity 
Objects: 64 - Hibernate: 20ms / Direct JDBC: 10ms = Ratio: 2.0 
Objects: 256 - Hibernate: 150ms / Direct JDBC: 30ms = Ratio: 5.0 
Objects: 512 - Hibernate: 210ms / Direct JDBC: 40ms = Ratio: 5.25 
Objects: 1024 - Hibernate: 410ms / Direct JDBC: 70ms = Ratio: 5.857143 
Objects: 2048 - Hibernate: 681ms / Direct JDBC: 180ms = Ratio: 3.7833333


选择 Hibernate 而不是 JDBC 和 SQL 查询并不是因为性能,而是主要因为以下原因对象持久化 and 数据库独立性就不编写数据库特定查询而言。您可以阅读以下 PDF 指南以获得更好的理解:

  • http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate 和 JDBC 性能? [关闭] 的相关文章

随机推荐