Пути повышения производительности Rails 3 - PullRequest
0 голосов
/ 08 марта 2011

ПРЕДПОСЫЛКИ: у меня есть список постов, которые нужно отсортировать по их «голосам», а затем показать 50 лучших постов.

ЦЕЛЬ: В настоящее время я использую .take(50) для достижения этой цели, используя .limit(50) или .first(50) показывают первые 50 постов UNSORTED.

Использование .take делает приложение необычайно медленным, есть ли альтернативы этому методу?

1 Ответ

3 голосов
/ 08 марта 2011

Вы можете объединить предложения лимита и порядка, используя что-то вроде:

Post.all(:order => "votes", :limit => 50)

Это генерирует SQL, который выбирал только 50 сообщений, но заказывал.

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