SQL语句执行浅析

SQL语句主要分为如下4个阶段。
1.Parse(解析)阶段
在该阶段,Oracle将首先在Share Pool中搜索该语句,即判断该语句是否已经被分析和执行过,如果没有发现该语句,则需要检查该语句的语法、检查该语句的主义及访问权限、对视力定义和子查询进行转换操作,并最终确定该语句优化的执行计划,这个完整的分析过程叫硬解析(Hard Parse)。如果在Share Pool中发现了该语句,说明该语句已经被分析和执行过,则只需要检查该语句的语义及访问权限,而其他大部分工作则无需再进行了。这个过程叫软解析(Soft Parse)。可见硬解析比软解析的资源消耗大多了。
2.Bind(绑定)阶段
在该阶段,当SQL语句含有变量(Bind变量)时,Oracle通过赋值或传参等方式为这些Bind变量赋值。
3.Execute(执行)阶段
在该阶段,Oracle将实施Parse阶段确定的执行计划,开始执行DML语句,实现I/O及排序操作等。如果是DDL、DML操作,完成此阶段,则执行过程结束。
4.Fetch(获取)阶段
在该阶段只适合于Select操作,即进行查询记录的读取并对查询结果进行排序。为提高性能,Oracle建议以数组方式成批提取记录,降低服务器和客户端的网络传输次数(Round-trip)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值