Lesson 4

Насколько быстрее? Приведи оба примера поиска в виде gist пожалуйста.

12 декабря 2014 г., 23:36 пользователь mfoxtrot <notifications@github.com>
написал:
>
> In app/models/card.rb
> <https://github.com/mfoxtrot/flashcards/pull/5#discussion-diff-21778204>:
>
> > @@ -7,4 +7,23 @@ def original_not_equal_translation
> >        errors[:base] << "Оригинал и перевод не могут совпадать!"
> >      end
> >    end
> > +
> > +  scope :unreviewed_recently, -> { where('review_date <= ?', Date.today ) } do
> > +    def random_card
>
> Предполагалось сделать скоуп (как подмножество записей, удовлетворяющих
> условию), а затем описать метод над скоупом, который возвращает из него
> случайную запись. Случайная запись возвращалась через случайное смещение.
> Проверял на наборах в 1000 и 10000 записей, запросы типа "select ... where
> (...) order by id limit 1 offset ..." выполняются быстрее запросов типа
> "select...where(...) order by random() limit 1"
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/mfoxtrot/flashcards/pull/5/files#r21778204>.
>


-- 
Best regards,
Kirill Shirinkin