1.创建游标
2.分析语句
把SQL从用户进程载入到oracle‘s shared pool
if( hash_value(Sql_Statement) in hash_table == true )
(
soft_parse;
) else (
hard_parse;
)
soft_parse:主要是为了验证用户是否有权限run this sql.
hard_parse:
1.语法分析
2.语义分析
3.通过数据字典验证对象和列等信息
4.同义词转换(如果存在)
5.用户权限验证
6.根据优化器,生成执行计划
7.载入library cache
(分析过程中要用到dictionary cache中的信息,如查阅用户权限等)
3.描述查询结果
选择哪几列
4.定义查询的输出
5.绑定变量
6.并行功能(如果需要)
7.执行
8.把fetch 的数据放入databuffer (如果在databuffer中不存在)
9.关闭游标
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26764973/viewspace-757306/
,如需转载,请注明出处,否则将追究法律责任。