每一天SQL语句中客户端都表现为一个上下文区域(context area)或者一个游标(cursor)。游标的生命周期如下图所示:
1.创建游标。游标是内存中的一块区域,用来保存当前打开的SQL语句的定义信息。
2.在oralce共享内存中进行检索,确认是否存在这条SQL语句的缓存副本。
3.解析SQL语句,涉及检查SQL语句的语法,对象引用,已经调用oracle 优化器来确定查询计划。
4.为绑定变量赋值。在执行SQL语句之前,所有绑定变量(需要由应用程序提供相应值的占位符)的值都要黏附到SQL语句上。
5.执行SQL语句。执行过程包括查询语句,DML和DDL语句的执行。如果是查询语句,执行将为语句的数据提取做准备。
6.提取记录。为查询语句返回一条或多条记录。
7.关闭游标。释放与此游标相关的所有内存和资源(尽管这个游标的共享部分可能仍然保留在oracle共享内存中)。