19得票2回答
如何避免使用复合键时出现NHibernate N+1问题

编辑 为了解决这一个问题,我重新制作了整个项目。因此,我也重新提出了这个问题。 我希望能够有效地避免N+1和笛卡尔积,将一个具有第三层复合键的4级深度实体连接在一起。 我希望这可以通过少量的查询来完成,不是惰性加载,也不仅仅是将所有表连接在一起。 A -(many)-> B -(m...

19得票2回答
EF Core 嵌套的 Linq 查询导致了 N + 1 条 SQL 查询。

我有一个数据模型,其中“顶部”对象具有0到N个“子”对象。在SQL中,这可以通过外键dbo.Sub.TopId实现。 var query = context.Top //.Include(t => t.Sub) Doesn't seem to do anything ....

15得票2回答
Hibernate子查询 vs 批量获取

Hibernate提供(至少)两种解决N+1查询问题的方法。一种是将FetchMode设置为Subselect,它生成一个带有IN子句和嵌套在该IN子句中的子选择的select语句。另一种是指定BatchSize,它生成一个带有包含父项ID的IN子句的select语句。 这两种方法都可以工作...

13得票3回答
Django N+1查询解决方案

我和同事讨论过N+1问题,了解到糟糕的数据库查询会对性能造成严重影响后,我访问了http://guides.rubyonrails.org/active_record_querying.html。 ActiveRecord(Rails):clients = Client.includes(:...

8得票3回答
JPA @OneToOne选择列表需要进行N+1次查询

我正在尝试使用JPA的@OneToOne注解将Child实体连接到其Parent。 它正常工作,除了当获取Child列表时,JPA引擎(在这种情况下是Hibernate)会进行1 + n次查询。 以下是Hibernate查询的日志: select child0_.id as id1_0_...

8得票4回答
Hibernate为@ManyToOne JPA注释的属性创建N+1查询

我有以下这些类: @Entity public class Invoice implements Serializable { @Id @Basic(optional = false) private Integer number; private Bi...