处理查询的几个阶段
- 搜索共享池。首先确定这条SQL语句是否经过分析并保存在库缓存中。
- 检查语句。分析SQL语句的语法。
- 检查数据源。保证语句中引用的所有表或列都存在。
- 获得锁。在这条语句引用的对象上取得分析锁,以保证在分析语句时,这些对象的定义不会发生改变。
- 检查权限。
- 分析语句。根据Oracle执行这条语句的最佳方法,为该语句建立一棵分析树(parse tree)或执行计划(execution plan),并放入告诉缓存。如果已经存在这条语句的分析树,则可省略这个步骤。
- 执行语句。服务器进程将从磁盘把数据取进缓冲区。
- 从游标取值。执行select语句后,从Oracle返回的所有数据都存放在游标中,然后将这些数据逐行放入绑定变量并返回给用户进程。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37724/viewspace-152511/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/37724/viewspace-152511/
Oracle SQL查询处理的几个阶段
本文介绍了处理Oracle SQL查询的几个阶段,包括搜索共享池确定语句是否在库缓存、检查语句语法、检查数据源、获得锁、检查权限、分析语句建立分析树或执行计划、执行语句取数据进缓冲区,以及从游标取值返回数据给用户进程。
5万+

被折叠的 条评论
为什么被折叠?



