Active Record w Rails 3 i nowy sposób wybierania danych a wydajność

Witam wyjadaczy rejsowych!

Mam pytanie o nowy sposób wybierania danych:

Client.where("orders_count = ?", params[:orders]).order("created_at").scoped1.scoped2(costam).all

lub

[code]basic = Client.where(“orders_count = ?”, params[:orders])
ext_basic = basic.order(“created_at”).scope1.scope2(costam)

result = ext_basic.all
totel = ext_basic.count[/code]
Jak wygląda takie wykorzystywanie API Active Record pod względem wydajności? Czy po wywołaniu każdej metody idzie każdorazowo zapytanie do bazy danych? Czyli po określeniu warunku, a potem po użyciu zdefiniowanego scope, potem kolejnego, to za każdym razem idą zapytania do bazy danych?

Nie, zapytanie jest wykonywane wtedy kiedy jest taka potrzeba, tzn. jak na obiekcie zostanie wywołana jakaś metoda, która musi mieć dostęp do rekordów (all, each, first, count itp. itd.)