在Rails3中post.count to_sql?

时间:2011-01-02 05:05:14

标签: ruby-on-rails ruby database sqlite

我有一个型号名称Post。当我试图跑 Post.count我得到一个没有问题的结果。 但是,我怀疑Ruby用于计算返回的帖子数量。

相反,我想使用SQL来计算帖子的数量,因为它要快得多。

我发现使用Arel实现此目的的唯一方法是Post.select("COUNT(id)")。 如果没有在模型上显式调用select,是否无法运行count命令? 谢谢!

2 个答案:

答案 0 :(得分:13)

Post.count应生成查询:

SELECT COUNT(*) FROM "posts"

编辑:您可以通过查看development.log文件来查看生成的查询。

答案 1 :(得分:3)

这就是你想要的吗? :

Post.where(your_sql).count

阅读here