使用RoR从数据库获取值时,我遇到了一个问题。我至少有1亿条数据。如何使用单个查询和最短响应时间获取所有数据?
我想获取特定时间段内的所有客户名称(我们正在使用MySQL)
答案 0 :(得分:1)
答案取决于您的数据库结构,但是通常您可以将查询限制为仅选择您感兴趣的数据。例如(如果)表名为customers
,模型名为{{1 }},表格中的字段Customer
和transaction_date
可能会出现...
name
start_date = Date.parse('2018-10-01')
end_date = Dae.parse('2018-10-31')
@customer_names = Customer.where(transaction_date: (start_date..end_date)).pluck(:name)
的日期限制应使结果易于管理。