Post.count to_sql в Rails3? - PullRequest
       9

Post.count to_sql в Rails3?

5 голосов
/ 02 января 2011

У меня есть название модели Post. Когда я пытаюсь бежать Post.count я получаю результат без проблем. Однако я подозреваю, что Ruby используется для подсчета количества возвращаемых сообщений.

Вместо этого я хотел бы использовать SQL для подсчета количества сообщений, так как он намного быстрее.

Единственный способ добиться этого с помощью Arel - это Post.select("COUNT(id)"). Нет ли способа запустить команду count без явного вызова select на модели? Спасибо!

Ответы [ 2 ]

13 голосов
/ 02 января 2011

Post.count должен сгенерировать запрос:

SELECT COUNT(*) FROM "posts"

Редактировать: Вы можете просмотреть сгенерированные запросы, просмотрев ваш файл development.log.

3 голосов
/ 02 января 2011

Это то, что вы хотите? :

Post.where(your_sql).count

Читать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...