データアクセス
ルール03が基本です:N+1禁止、ホットパスでのSELECT *禁止、クエリはインデックスを利用、大規模リストはページネーション。このスキルは、ORMやループによってラウンドトリップが隠蔽され、そのルールがどのように破られるかを示します。
コレクションからリレーションをロードする前、マッピングを eager に設定する前、または1対多リレーションをページネーション付きリストに結合する前に、references/bad-vs-good.md を読んでください。
完了条件
- N個の親リストに対して、同じリレーションのクエリがN回発行されていない。
- クエリログまたはトレースで、固定された数のステートメント(1または2、あるいは1 + N/バッチサイズ)が表示され、行ごとではない。
- 親の1ページが要求した数の親を返し、結合された行のページではない。