select N + 1 比 eager join 更好吗?

2024-04-10

我正在使用 nhibernate profiler 并看到它在一些地方给我一个“Select n + 1”警告。

明显的解决方法是进行一些预先的热切连接,但这让我思考,在某些情况下,与可能会加载大量您从未实际使用的数据的连接相比,使用 Select N + 1 是否实际上更简单或更快。


你的想法是正确的。例如,在某些情况下,所有根实体都引用另一个实体的一个或两个实例。进行 2 或 3 个小选择而不是非规范化选择(即使用连接)可能会更快

有一种方法可以使几乎所有情况下都变得方便:batch-size。如果您在实体和集合中将此属性设置为通常的页面大小,您将获得恒定数量的小选择(每个实体类型一个)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

select N + 1 比 eager join 更好吗? 的相关文章

随机推荐

  • 如何从我的应用程序启动默认音乐播放器?

    我制作了一个应用程序ListView 当我点击ListView项目 一个 ogg声音文件应该开始播放 不在我的应用程序中 而是在用户的默认音乐播放器应用程序中 我怎样才能做到这一点 Try this Intent it new Intent
  • Java - 作为普通代码运行字符串[重复]

    这个问题在这里已经有答案了 有没有办法将字符串作为代码运行 我的意思是如果我运行的字符串有价值System out println Hello World 我可以像普通代码一样运行该字符串 然后输出将是 Hello World 吗 例如 S
  • 如何将单个图像转换为 MP4 视频?

    如何将单个图像转换为 mp4 视频 例如 我需要播放同一张图像20秒 持续时间将是动态的 我知道这是可能的ffmpeg 我在谷歌和SO中搜索 但不幸的是 我无法找到正确的教程 我只是想要一个正确的方向 欢迎任何意见或建议 基本语法是 ffm
  • 无法登录在 django 管理后端创建的超级用户

    我试图在 django 管理后端创建超级用户 但不知何故我无法让他们登录 这是我的用户类别 class User AbstractBaseUser PermissionsMixin email models EmailField uniqu
  • 如何在点击时将图像设置为背景图像?

    我有一个活动显示带有不同图像的网格视图 当单击其中一个图像时 我希望单击的图像成为另一个活动的背景图像 我怎样才能做到这一点 这是我的活动 显示网格视图 public class HelloGridViewActivity extends
  • 在 Python Pandas 中将列转换为行

    我有以下 Python pandas 数据框 fruits numFruits 0 apples 10 1 grapes 20 2 figs 15 I want apples grapes figs Market 1 Order 10 20
  • 如何在omnet++ Veins中实现RSU到RSU通信?

    我正在尝试在 Veins 中实现 RSU 到 RSU 的通信 为此 我在 RSU 模块 RSU ned 文件 中添加了一个输入输出门 module RSU parameters string applType type of the app
  • 将班次数据(开始和结束时间)分解为每小时数据

    我有一个 df 如下 显示一个人何时开始轮班 结束轮班 工作时数和日期 Business Date Number PayTimeStart PayTimeEnd Hours 0 2019 05 24 1 2019 05 24 11 00 0
  • 在 python 脚本中使用 easy_install ?

    easy install python 扩展允许从控制台安装 python Egg 例如 easy install py2app 但是是否可以在 python 脚本中访问 easy install 功能 我的意思是 不调用 os syste
  • Vim 命令日志

    是否可以记录我在 VIM 中输入的所有命令以供以后分析 我的意思是每个简单的命令 例如动作或更改文本 即jjjjjjkkkcw
  • mySLComposerSheet 上的格式字符串未使用错误数据参数

    我有点困惑为什么我收到错误 格式字符串未使用数据参数 有其他人在 iOS6 的 Xcode 4 5 中得到这个或修复这个问题吗 IBAction facebookPost id sender if SLComposeViewControll
  • jQuery 验证将类添加到错误元素?

    我有以下使用 jQuery Validate 的代码 register validate debug true errorClass error validClass success errorElement span highlight
  • jquery 如果 div id 有孩子

    This if 条件给我带来了麻烦 if div id myfav has children do something else do something else 我尝试了以下所有方法 if myfav hasChildren do so
  • nasm idiv 为负值

    尝试将正数除以负数 目前我的程序将正确划分 并且我可以正确访问其余部分 但是当我输入一个正数除以一个负值时 它根本不会被除 我知道有一种方法可以 签名扩展 并且它会正确划分 我只是看不懂说明书 movsss imm reg reg mem
  • Windows 8 Metro javascript 应用程序绑定到表

    我在 javascript Metro 应用程序中绑定表格时遇到问题 而不是与模板中提供的 html 绑定 它会放入大量 div 并将 json 呈现为字符串 这就是我所拥有的 tr td td td td td td tr table t
  • sizeof 运算符的实现

    我尝试过实现 sizeof 运算符 我是这样做的 define my sizeof x x 1 x 但对于任一数据类型 结果总是为 1 然后我用谷歌搜索了一下 发现了以下代码 define my size x char x 1 char x
  • 尽管我设置了环境变量,NODE_ENV 显示未定义

    我正在使用 webstorm 并尝试使用设置环境变量 set NODE ENV development 当我使用检查环境变量时 echo NODE ENV 我得到的答案是发展 但是在我的节点应用程序中 当我使用检查变量时 var b pro
  • 单击按钮时,无法识别的选择器发送到实例错误

    我不完全确定为什么会出现此错误 当我单击 FirstViewController 上的按钮时会发生这种情况 Terminating app due to uncaught exception NSInvalidArgumentExcepti
  • 如何在 SQLite 中计算不同利率的复利

    我需要按产品计算复利 其中利率可能因年份而异 简化表如下 initial value是第一年开始时产品的价值 final value是相应年末的包括利息的价值 product year initial value interest fina
  • select N + 1 比 eager join 更好吗?

    我正在使用 nhibernate profiler 并看到它在一些地方给我一个 Select n 1 警告 明显的解决方法是进行一些预先的热切连接 但这让我思考 在某些情况下 与可能会加载大量您从未实际使用的数据的连接相比 使用 Selec