# N加1查询（N+1 Query）

### 缩写：N+1

### 简述

先查列表 1 次，再对每行各查关联 1 次，共 1+N 次往返。ORM 懒加载中极常见，列表一大即雪崩。

### 为何出现

对象导航式访问隐藏了 SQL 次数。

### 使用场景

列表页变慢、ORM 性能问题、接口抓 SQL 日志。

### 实践与应用

• 用 join/预加载/批量 IN 一次取齐。
• 开发环境打印 SQL 次数。
• DTO 投影避免加载整图。

### 注意事项

```text
// 反例：循环内逐条查子表 → 改为 join/批量

```

### 信号与度量

单请求 SQL 次数、数据库 QPS 异常升高。

### 关联术语

• ORM：高发场景
• 连接 / 批量查询：治理手段
• 慢查询：外在表现
