← [ BACK_TO_NOTES ]

SQL 查询执行流程

SQL 执行通常会经过解析、重写、优化和执行阶段,理解这条链路是分析慢查询和执行计划的基础。

#concept #growing #backend #database #sql

[!info] related notes

SQL 查询执行流程

一句话定义

一条 SQL 从文本到结果,通常要经历解析、重写、优化和执行几个主要阶段。

核心机制 / 工作原理

典型流程可以简化为:

  1. 解析:检查语法是否合法
  2. 语义分析:确认表、列、函数是否存在
  3. 重写:把视图、规则或某些语法糖改写成内部表示
  4. 优化:枚举可能计划,选择代价更低的一种
  5. 执行:按计划读取数据、过滤、连接、排序并返回结果

真正影响性能的关键点常在优化和执行阶段。

最小例子 / 最小场景

对于:

SELECT id, name
FROM users
WHERE email = 'alice@example.com';

数据库会考虑:

  • users.email 上是否有索引
  • 预计命中多少行
  • 全表扫描还是索引扫描更便宜

边界与易混淆点

  • 数据库不是按你写 SQL 的顺序机械执行,它会重排和优化。
  • 语法正确不代表计划高效;很多性能问题是“能跑,但代价非常大”。
  • 执行计划是成本估计结果,不是绝对真理,所以需要结合真实执行结果来看。
创建于 2026/5/3 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本