【问题标题】:Single custom MySQL Query or multiple Hibernate queries, which is more efficient?单个自定义 MySQL Query 或多个 Hibernate 查询,哪个更高效?
【发布时间】:2019-05-05 10:17:28
【问题描述】:

我必须从 5 个表中获取所有列。结果集最多可以返回 1000 行。

是在 MySQL 中编写一个自定义查询来获取所有数据还是使用 5 个 Hibernate 查询来获取数据更好?

条件 - 在表 1 中,索引是主键和数据库分区所在的另一列的组合。其余表中,表1的主键为外键,在其余表中具有相同的列,用于表分区。

(由于一些限制 - 1. 无法缓存此数据。 2. 分页调用不可行。 3. Hibernate 支持的 Eager 或 Lazy Fetching 无法使用)

【问题讨论】:

  • 经验法则是“到数据库的往返次数越少越好”——“1”是最优的

标签: mysql hibernate spring-boot spring-data-jpa spring-data


【解决方案1】:

当查询变得复杂时,我将始终避免使用 HQL。

Hibernate 或其他 ORM 的价值在于生产力和便利性。他们永远无法超越优秀的开发人员。

无论 Hibernate 生成什么仍然是 SQL 查询。它们永远不会比编写良好的 SQL 查询更有效。

【讨论】:

    猜你喜欢
    • 2012-07-11
    • 2011-03-09
    • 2013-03-30
    • 2011-05-23
    • 2012-02-08
    • 2012-08-16
    • 1970-01-01
    • 2010-11-10
    • 2012-04-11
    相关资源
    最近更新 更多