ruby-on-rails - 有没有办法改善我的 Ruby on Rails 急切加载?
问题描述
我正在我的 Rails 应用程序中的一个页面上工作,该页面需要通过许多关联的表显示信息。目前,这个页面大约需要 15 秒来加载大约 700 条记录。我正在尝试优化数据查询。目前,我的查询如下所示:
@students = Student.includes(:school, orders: { cart: { packages: [:options, :order_packages] } })
.where('students.school_id = ?', params[:school_id])
.where('students.teacher like ?', '%day%')
.where('students.grade = ?', '12')
.order(:last_name)
此查询需要通过 .includes 方法进行深度嵌套的关联。有没有更有效的方法来运行这个查询?
解决方案
这似乎不是一个急切的加载问题。您只是在查询表中的students
列。确保这些列具有正确的索引,并且您的查询正在使用这些索引。确保关联表的外键具有索引,并且这些外键也用于完成预加载。
推荐阅读
- android - 如何在 Android 设备上调试 Delphi 应用程序?
- angular - ngForm 或 [formGroup] 在 formly 包装器中是未知的
- javascript - 行和列布局中的 iframe 显示问题
- java - 为什么我的第一个请求需要很长时间才能通过 zuul 网关得到响应
- swift - 镜像 RTL 语言的 ImageView?
- python - Pptx:如何将图表轴转换为对数?
- automated-tests - RobotFramework AutoItLibrary.Run 测试用例通过,但没有显示窗口
- python - Twosum 问题:为什么代码 A 的运行速度比代码 B 快得多?
- python - created_by 不使用 ManyToManyField django
- python-3.x - 如何打印数据管道过程中形成的张量的数据?(tf.data.Dataset.map -
)