Ruby on Rails - 选择日期范围内的记录(性能缓慢)

时间:2015-09-02 20:34:12

标签: mysql ruby-on-rails date

我知道如何在日期范围内查找记录,并且已经看到类似问题的答案。我的问题是如何将我的日期值从“mm / dd / yy”重新格式化为可以与日期范围进行比较的格式,所有这些都在一个查询中。

我的数据库中有一列包含“mm / dd / yy”格式的日期。我正在尝试编写一个查询,该查询将选择由start_dateend_date变量定义的日期范围内的所有记录,这些变量是Ruby Date对象。

这是我迄今为止最好的,但速度很慢:

date_records = Record.select { |r| ( (r.division == division) && (Date.strptime(r.date, "%m/%d/%y") >= start_date) && (Date.strptime(r.date, "%m/%d/%y") <= end_date) ) }

1 个答案:

答案 0 :(得分:-1)

我发现在执行ng-if之前将我的记录转换为JSON,这些matches解析并比较日期大大改善了性能(~35s降至~4s):

.select