今天来聊聊喜闻乐见的 SQL。
- 解析 SQL 语句并检查其有效性。
- 将 SQL 转换为内部表示结构,如关系代数。并创建查询树或查询图,表示操作的逻辑顺序。
- 优化内部表示结构,并创建一个执行计划。优化器会根据索引、统计数据、可用资源和查询复杂度等因素分析各种潜在的执行计划。其目标是确定执行查询的最有效方式。
- 执行该计划并返回结果。这一阶段包括访问表中的必要数据、执行任何过滤或条件语句、执行 SQL 语句中指定的 join、聚合和排序操作。
下图以可视化的方式展示了这种执行过程。
![图片[1]-SQL语句是怎么执行的?-编程社](https://cos.bianchengshe.com/wp-content/uploads/2023/12/640-23-3.png?imageMogr2/format/webp/interlace/1/quality/100)
SQL 的执行非常复杂,需要考虑很多因素,例如:
- 索引和缓存的使用
- 表连接 (Join) 的顺序
- 并发控制
- 事务管理
我们下面来看看 SQL join 如何工作?下图详细说明了 4 种 SQL join 的工作方式。
![图片[2]-SQL语句是怎么执行的?-编程社](https://cos.bianchengshe.com/wp-content/uploads/2023/12/64031.gif?imageMogr2/format/webp/interlace/1/quality/100)
- 内部连接 – 返回两个表中匹配的记录。
- 左连接 – 返回左表中的所有记录和右表中的匹配记录。
- 右连接 – 返回右表中的所有记录和左表中的匹配记录。
- 全外连接 – 返回左表或右表中匹配的所有记录。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容