我有一个 MySQL 表,其中包含数十万个条目。
我需要指定一个日期范围并选择这两个日期之间的所有条目。然后,我需要逐小时分解条目并获取特定字段。
用例:我需要对 6 月 6 日到 6 月 12 日的条目进行逐小时细分。因此,在 6 月 6 日,我需要从上午 12 点到凌晨 1 点、凌晨 1 点到 2 点、凌晨 2 点到 3 点等的一系列条目。
哪个更快?(为什么!):
运行 144 个 SQL 查询到
SELECT device_id FROM entries WHERE updated_at >= sometime AND updated_at <= sometime+1.hour
某个时间是下午 12 点到下午 1 点,然后是下午 1 点到下午 2 点,等等。运行 1 个 SQL 查询以
SELECT device_id FROM entries WHERE updated_at >= start_date AND updated_at <= end_date
获取整个时间段内的所有条目,然后使用 ruby 按小时对条目进行分组。
如果有人有任何资源说明为什么 ruby 或 MySQL 对于这种类型的东西可能更快,将不胜感激。想做一些阅读。