select-n-plus-1相关内容

使用RavenDB进行一对多查询(&T)

我知道RavenDB的include-特性。它允许我在数据库的一次往返过程中立即获取引用的文档。但我的问题是:我首先获取的文档不包括对&Other&Quot;文档的引用。但其他";文档引用了当前文档。 想象一下我们在世界各地都有站点的设置。每个site可能会触发各种警报。每个alarm都引用了site途径siteId。 现在我想获得包括所有警报在内的所有站点的列表。但看起来,这 ..
发布时间:2022-08-31 20:53:26 其他开发

休眠子选择与批量获取

Hibernate 提供(至少)两个选项来解决 N+1 查询问题.一个是将 FetchMode 设置为 Subselect,它会生成一个带有 IN 子句的选择和一个在该 IN 子句中的子选择.另一种是指定一个 BatchSize,它会生成一个带有包含父母 ID 的 IN 子句的选择. 两者都有效,但我发现 Subselect 选项经常遇到性能问题,因为对父母的查询很复杂.另一方面,如果 Ba ..
发布时间:2022-01-23 15:48:04 其他开发

Doctrine 在水合期间添加了额外的查询,导致“正常"的 n+1 问题.一对一和自引用关系

新闻通过一对多的自引用方式相互关联(一个新闻为父,可以有多个子).更重要的是,每个 News 与 Event 和 Gallery 都有正常的(非自引用)一对一关系.当我运行简单的 DQL 时: SELECT n FROM App\Entity\News n WHERE n.parent = :id 然后通过 getResults 方法和默认的 HYDRATION_OBJECT 值集水合结果,额 ..
发布时间:2022-01-16 17:49:34 PHP

什么是“N+1选择问题"?在 ORM(对象关系映射)中?

“N+1 选择问题"通常在对象关系映射 (ORM) 讨论中被表述为一个问题,我知道这与必须为看似简单的事情进行大量数据库查询有关在对象世界中. 有人对这个问题有更详细的解释吗? 解决方案 假设您有一组 Car 对象(数据库行),并且每个 Car 都有一个Wheel 对象(也是行)的集合.换句话说,Car → Wheel 是一对多的关系. 现在,假设您需要遍历所有汽车,并为每个汽 ..
发布时间:2022-01-01 17:19:08 其他开发

什么是"N + 1选择问题"?在ORM(对象关系映射)中?

"N + 1选择问题"在对象关系映射(ORM)讨论中通常被描述为问题,我理解这与必须对看起来简单的事情进行大量数据库查询有关在对象世界中. 有人对此问题有更详细的解释吗? 解决方案 假设您有一个Car对象(数据库行)的集合,而每个Car都有一个Wheel对象(也行)的集合.换句话说,Car→Wheel是一对多关系. 现在,假设您需要遍历所有汽车,并为每辆汽车打印出车轮清单.天真 ..
发布时间:2020-05-22 18:53:44 其他开发

Hibernate的子选择与批量读取

Hibernate为解决N + 1查询问题提供了(至少)两种选择。一个是将FetchMode设置为Subselect,它在此IN子句内生成一个带有IN子句和子选择符的select。另一种是指定一个BatchSize,它会生成一个带有IN子句的select,其中包含父母的ID。 两者都可以工作,但我发现Subselect选项经常遇到由于父母的查询造成的性能问题非常复杂。另一方面,对于大的Bat ..
发布时间:2018-06-07 18:47:26 J2EE

为什么选择N + 1没有外键和LINQ?

我有一个数据库,不幸的是没有真正的外键(我计划稍后添加,但是现在宁愿不要这样做,使迁移更容易)。我已经手动编写了映射到数据库的域对象来建立关系(下面的教程 http://www.codeproject.com/Articles/43025/A-LINQ-Tutorial-Mapping-Tables-to-Objects ),我终于得到了代码正常运行。但是,我注意到我现在有SELECT N + 1 ..
发布时间:2018-01-27 15:33:01 其他开发

使用实体框架导航属性而不创建大量查询(避免N + 1)

我一直在使用Entity Framework Profiler来测试我在MVC项目中的数据访问,并且在几个页面上进行了比我需要的数据库查询要多得多,因为N + 1个问题。 这是一个简单的例子来显示我的问题: var club = this。 ActiveClub; // ActiveClub使用类似于context.Clubs.First()的代码 var members = cl ..

Django N + 1查询解决方案

我在与...通话后访问了 http://guides.rubyonrails.org/active_record_querying.html 一个关于N + 1的对等体以及糟糕的DB查询的严重性能影响。 ActiveRecord(Rails): clients = Client.includes(:address).limit(10) 客户端有地址,我打算通过客户端循环访 ..
发布时间:2017-05-29 08:04:04 其他开发