2012-01-05 6 views
0

単純なことです。あなたは合理的なアプローチは、を使用するかどうかを、モデルの唯一のいくつかの属性が必要な場合:メソッドの検索にオプションを選択します。クエリの利点find with:データベースからオブジェクトを抽出する際のselectオプション

@users = User.find (:all, 
        :select => "username, email, registered_on", 
        :conditions => ["username like?", "A%"]) 

は、DBクエリの速度から任意の利益をもたらしますか?

答えて

0

ネットワーク経由で渡される情報が少なくなるため、データベースからのデータの取得が確実に高速化されます。クエリ自体も高速です。

ただし、これを行うと、オブジェクトの一部のプロパティが初期化されません(取得しなかったもの)。これはあなたを驚かせるかもしれません(あなたがこれについて忘れた場合)。

+0

したがって、このオブジェクトの将来の問題で、データベースからの高速なデータ抽出が価値があるかどうかという疑問はありますか?あなたはどのように思いますか ? –

+0

自分で決めてください。私は個人的にこの機能を非常に頻繁に使用しません。 –

+0

"クエリ自体も高速です"と思うのではないでしょうか?各行のバイトが一緒に格納されている場合は、それらのすべてではなく、ほんの数個の列を選択するのが遅くなることさえあります。 –

関連する問題