【发布时间】:2021-12-18 20:44:41
【问题描述】:
我们有一个模型 Booking,它连接到许多其他模型。
class Booking < ApplicationRecord
belongs_to :business
belongs_to :employee
# a whole lot more below
end
在显示视图中有一行代码:
Room Service Employee: #{booking.employee.first_name}
由于这一行,有一个数据库查询来查找预订指定员工的名字。
当每天查看 10,000 次预订时,就有 10,000 次 DB 调用愚蠢的名字。
我的问题是,将“employee_name”字段添加到 Booking 模型并在那里写入员工姓名而不是每次都去数据库获取该信息是否有意义?数据库查询可能只需要 25 毫秒,但它们加起来。真的有区别吗?
我是公司里唯一的程序员,所以我没有任何资深开发人员要问。我已经谷歌了,但找不到任何有用的东西。在网上向我传道!
感谢您的意见!
【问题讨论】:
-
是的,这是额外的查询,但优化这样的事情还为时过早吗?如果将名称复制到两个表中,则每当名称更改时都必须对其进行维护。它有点复杂-值得吗?也许如果你真的在寻找优化。
标签: ruby-on-rails ruby postgresql activerecord