資料存取
規則 03 是底線:禁止 N+1、禁止在熱路徑上使用 SELECT *、查詢必須有索引支援、大型列表必須分頁。此技能說明了當 ORM 或迴圈隱藏了多次資料庫往返時,該規則如何失效。
在從集合中載入關聯、將映射標記為立即載入,或將一對多關聯加入分頁列表之前,請先閱讀 references/bad-vs-good.md。
完成條件
- N 個父項目的列表,不會對相同的關聯發出 N 次查詢。
- 查詢日誌或追蹤顯示陳述式數量是固定的(1 或 2 個,或 1 + N/批次),而不是每行一個。
- 一頁父項目傳回的數量應等於您要求的父項目數量,而不是一頁已 JOIN 的資料行。