试图优化rails查询

时间:2017-08-22 09:06:21

标签: ruby-on-rails

我目前的代码是:

first_three_posts = Post.first(3)
last_three_posts = Post.last(3)

这使服务器命中两次。 我可以将它减少到一个查询的任何方式

1 个答案:

答案 0 :(得分:1)

由于您需要有序表的第一个和最后一个元素,因此您必须执行单个查询的唯一选项(非常未提取)是提取整个数据集,并从中获取头部和尾部在ruby本身产生的集合。

毋庸置疑,除非您的Post集合非常小,否则运行2个不同的查询要快得多。