Ads
Comments 13
+1
про подгрузки ассоциаций — не знал, спасибо.

"… можете отключить сессии..." исправьте, пожалуйста.
-1
Само лучшие ускорение для rails приложение даёт использование haproxy. Правда нагрузку на сервер это даже несколько увеличит, но отклик реально очень сильно ускорит.
-7
Самое лучше ускорение для rails — это python :)
А по правде говоря, page caching рулит.
Из перечисленных же советов реально будет давать буст только третий.
+1
Кроме того не забывайте правильно использовать опцию :include в ваших запросах для подгрузки ассоциаций
Post.find(:all, :include => :user)

Это сократит число запросов в 2 раза

В новых версиях (начиная с 2.1.x), такой поиск будет делаться в два запроса: сначала выборка всех id для модели Post, а потом подгрузка ассоциации запросом select * from users where post_id IN (N, N, N, ..., N). Исключение будет только для conditions, где используются поля из ассоциации.
0
> в два запроса

странно, почему бы не сделать в один, приjoinив нужные таблицы?
0
хотя, с другой стороны, если join'ов будет много и запрос будет большой, то несколько маленьких запросов могут выполнится быстрее
0
ага, только, если будут условия или сортировка, то снова будет использован механизм с left join'aми — api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

Since only one table is loaded at a time, conditions or orders cannot reference tables other than the main one. If this is the case Active Record falls back to the previously used LEFT OUTER JOIN based strategy.


P.S.> забавно с собой поговорить =)
Only those users with full accounts are able to leave comments.  , please.