4.Oracle深度学习笔记——内存架构之PGA Private SQL 区

4.Oracle深度学习笔记——内存架构之PGA Private SQL 区

      欢迎转载,转载请标明出处: http://blog.csdn.net/notbaron/article/details/50558150

PrivateSQL 区域持有已解析的SQL语句相关的信息和其他处理会话相关的信息。

         当一个服务进程执行SQL或PL/SQL代码,进程使用私有SQL区域来存储绑定变量,查询执行状态信息,查询执行工作区域。

         在一个或多个会话中的多个私有SQL区域中,可以指向同一个SGA中的执行计划。如下图1


其中Cursor执行私有区域的名字或句柄。可以将CURSOR理解成客户端上的指针,指向服务器端。

         因为CURSOR和私有SQL区域相关,两个术语经常互用。

         如上篇笔记中所诉:

         私有SQL区域分为以下两个区域:

运行区域和持久区域。

         运行区域:包含查询执行状态信息。例如,跟踪全表扫描返回的行数。在执行请求的时候,第一步是创建运行区域。对于DML语句,当SQL语句关闭后运行区域就释放。  

         持久区域:包含绑定变量值。在语句执行的时候提供。该区域在CURSOR关闭的时候才释放。

         客户端进程要负责管理私有区域大小。分配和返回私有区域很大程度取决于应用,当然一个客户端进程能分配的私有区域大小是被初始化参数限制的OPEN_CURSORS。

         静态大多数用户依赖于数据库包提供的自动游标处理,但是ORACLE程序接口对开发者提供了更多的控制游标的接口。

         通常,应用程序需要在关闭不再使用的CURSOR,来释放持久区域,来减少应用程序的内存需求。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值