java Hibernate在读写方面的性能
hibernate在读写方面是如何工作的:
如果应用程序对数据库进行更多写入,hibernate如何工作? 在这种情况下,我知道每次写入都必须刷新缓存,除了这一点之外,还有任何性能开销(与JDBC相比)
如果应用程序只读取数据(很少写入/更新),hibernate如何工作? 在这种情况下,由于缓存不需要刷新,我们可以期望hibernate的性能与JDBC一样好(或更好)(如果调整得当)
另外,想了解在案例2中使用的最佳选项(除了ORM)
你可以在下面搜索框中键入要查询的问题!
hibernate在读写方面是如何工作的:
如果应用程序对数据库进行更多写入,hibernate如何工作? 在这种情况下,我知道每次写入都必须刷新缓存,除了这一点之外,还有任何性能开销(与JDBC相比)
如果应用程序只读取数据(很少写入/更新),hibernate如何工作? 在这种情况下,由于缓存不需要刷新,我们可以期望hibernate的性能与JDBC一样好(或更好)(如果调整得当)
另外,想了解在案例2中使用的最佳选项(除了ORM)
# 1 楼答案
Hibernate是一种可能使开发更容易的工具。我觉得(根据我自己的经验)休眠开销不是很大。您可能最终会编写自己的sql结果到对象映射。如果你做得好的话,它可能比Hibernate快一点。然而:
总之,Hibernate有它的开销,但对我来说,调优功能非常重要,在复杂的应用程序中,Hibernate有可能(而且很可能)比普通JDBC有更好的性能。我不需要说,使用Hibernate和QueryDSL的developent要比使用普通JDBC快得多
# 2 楼答案
添加一个额外的层总是性能较差。然而,这个额外的层有时也会减少开发时间。因此,这完全取决于您的用例和性能需求。如果您使用ORM,那么您可以为读取和查询启用二级缓存,这就是您的应用程序级性能。但有时本机DB缓存就足够了(这样集群中的每个节点都可以避免缓存)