如何使用 ROR 处理数据库?

Posted

技术标签:

【中文标题】如何使用 ROR 处理数据库?【英文标题】:How to handled database using ROR? 【发布时间】:2019-05-04 22:00:11 【问题描述】:

我在使用 RoR 从数据库中获取值时遇到了一个问题。我有至少 1 亿个数据。如何使用单个查询和最短响应时间获取所有数据?

我想获取特定时间段内的所有客户名称(我们使用的是 mysql

【问题讨论】:

您使用的是什么数据库?你能使用像 ActiveRecord 这样的 ORM 吗?数据库模式是什么样的?什么是 1 亿数据?这个问题需要大量澄清才能回答。 您需要描述有关数据库结构(表、字段)和规模(10crores of data 是什么?)的更多详细信息。 我处理了一些客户信息,其中有近 1 亿条数据我想在特定时间段内获取所有客户名称? 啊哈,一千万是印度的数字单位。我相信它是 1 亿。 因此我的假设是 Ram 正在处理 1 亿行数据? en.wikipedia.org/wiki/Crore 【参考方案1】:

答案取决于您的数据库结构,但通常您可以将查询限制为仅选择您感兴趣的数据。如果(例如)您的表名为 customers 并且您的模型是 Customer 并且表有字段transaction_datename 你可能会这样做......

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)

where 日期限制应该使结果易于管理。

【讨论】:

以上是关于如何使用 ROR 处理数据库?的主要内容,如果未能解决你的问题,请参考以下文章

在 RoR 网站上使用 HAML 跳转链接

使用 CloudFlare、Heroku 和 RoR 时如何设置真实 IP 地址?

RoR:我不知道如何使用取自 text_field 的两个整数添加新记录

如何在 ROR (Ruby) 中显示 PDF? [关闭]

在 RoR 中,通过代理请求网页时如何获取状态码?

视图如何知道 RoR 中的自己的 url [重复]