一条SQL语句游标的生命周期

来源:互联网 发布:知乎 颗粒板 编辑:程序博客网 时间:2024/06/03 10:16


每一天SQL语句中客户端都表现为一个上下文区域(context area)或者一个游标(cursor)。游标的生命周期如下图所示:

1.创建游标。游标是内存中的一块区域,用来保存当前打开的SQL语句的定义信息。

2.在oralce共享内存中进行检索,确认是否存在这条SQL语句的缓存副本。

3.解析SQL语句,涉及检查SQL语句的语法,对象引用,已经调用oracle 优化器来确定查询计划。

4.为绑定变量赋值。在执行SQL语句之前,所有绑定变量(需要由应用程序提供相应值的占位符)的值都要黏附到SQL语句上。

5.执行SQL语句。执行过程包括查询语句,DML和DDL语句的执行。如果是查询语句,执行将为语句的数据提取做准备。

6.提取记录。为查询语句返回一条或多条记录。

7.关闭游标。释放与此游标相关的所有内存和资源(尽管这个游标的共享部分可能仍然保留在oracle共享内存中)。


0 0