代码之家  ›  专栏  ›  技术社区  ›  TheJediCowboy

原生SQL(使用MySQL)与Hibernate ORM的性能差异?

  •  4
  • TheJediCowboy  · 技术社区  · 15 年前

    随着项目的显著增长(他们总是这样做),我进行了更重要的数据库调用,有时查询较大的选择大小。

    我正在尽我所能来处理我的db调用,以密切模拟对象-关系映射的最佳实践,但仍然只是使用JDBC。我一直在考虑是否应该过渡到冬眠,但不确定是否值得。我愿意这么做,如果它值得一个性能增益。

    使用Hibernate(甚至仅仅是对象关系映射)比使用JDBC的原生SQL有什么性能提高吗?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Pascal Thivent    15 年前

    使用Hibernate(甚至仅仅是对象关系映射)比使用JDBC的原生SQL有什么性能提高吗?

    使用ORM、datamapper等不会使相同的SQL查询运行得更快。但是,在使用Hibernate时,您可以从以下方面受益 延迟加载 , , 这些特性可能有助于提高性能。我并不是说Hibernate对于每一个用例都是完美的(对于Hibernate不能很好地处理的特殊情况,您总是可以退回到原生SQL),但是它做得非常好,并且绝对可以缩短开发时间(即使在增加了优化时间之后)。

        2
  •  4
  •   zellus    15 年前

    ORM允许您深入OOP世界,但这是以性能为代价的,特别是在我们的例子中,对于多对多关系。我们默认使用Hibernate,在需要时使用jdbc进行性能优化。

        3
  •  1
  •   Qwerky    15 年前

    如果本机JDBC调用使用低效SQL,那么您可能会看到一些性能改进,因为HIbernate倾向于生成良好的SQL。