1

私はYiiが初めてです。現在、私は Active Record の遅延読み込みと熱心な読み込みについて学んでいます。私はインターネットを検索しましたが、これらのロード方法をどのような条件で使用する必要があるかを説明する良い記事を見つけることができませんでした. ここで説明できる人はいますか?

ありがとう。

4

1 に答える 1

0

これはすべてn+1の問題に関するものです。Yiiガイドから

デフォルトでは、単一のJOINステートメントが生成され、積極的な読み込みに関係するすべてのリレーションに対して実行されます。プライマリテーブルにLIMITまたはOFFSETクエリオプションが設定されている場合、最初に単独でクエリが実行され、その後に関連するすべてのオブジェクトを返す別のSQLステートメントが続きます。以前のバージョン1.0.xでは、積極的な読み込みにNHAS_MANYまたはMANY_MANYの関係が含まれる場合、デフォルトの動作ではN +1SQLステートメントが存在します。

于 2012-10-14T17:04:48.657 に答える