如何避免 N+1 查询问题 1. 问题定义 N+1查询问题是ORM框架中常见的性能瓶颈,指: 1次查询获取主表数据(1) N次查询获取关联表数据(N) 导致总查询次数为N+1 典型场景:获取10个用户及其订单,1次查用户 + 10次查订单 = 11次查询 2. 根本原因分析 2.1 ORM的延迟加载机制 延迟加载(Lazy Loading)是默认行为 访问关联属性时才触发查询 循环中访问导致多次查询 2.2 对象-关系阻抗不匹配 面向对象与关系型数据库的思维差异 ORM试图透明化关联关系 实际执行时暴露底层查询问题 3. 解决方案 3.1 预加载(Eager Loading)