SQL语法执行过程

本文详细介绍了SQL执行过程,包括语法分析、语义分析、视图合并、语句转换、逻辑优化、物理优化、生成执行计划及执行语句等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL语法执行过程:

1、synatic:语法分析,检查 SQL 语法是否错误,有没有拼写错误。

2、Semantic:语义分析,检查要查询的对象是否存在,以及用户是否有对应对象的操作权限。

3、Parent cursor:在 library cache 中检查语句中的 cursor 是否存在,如果存在可重用的 cursor ,则可以把 PGA 中的 private SQL Area 和其关联,然后跳至第八步,此过程叫做软解析;如果不存在则申请一个 parent cursorparent cursor 就是用来保存 SQL 语句的,然后进行第四布

4、View Merge:如果用户的语句中用到了视图,则把视图语句合并到用户语句中;

5、Statement transformation:把复杂的 SQL 转换成简单的 SQL 语句,比如展开子查询等;

4和 5 又可以叫做 logical optimization

6、Optimization:确定最佳的访问路径,选择最小代价的访问方式; physical optimization

7、QEP generation:(生成执行计划), QEP query Execution Plan ,也就是产生 child cursor 执行计划会保存在 child cursor 中,并和 parent cursor 相关联;

8、QEP Execution:执行语句,生成结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值