程序全局区域( Program Global Area ) 是 只对一个段杜的服务器进程可用的内存区域,PGA 包含的条目,用户变量和一个单独用户的SQL语句的游标信息,例如目前已检索的行数。
在 ORACLE 10g , 可以简单的为 SGA 和 PGA 设置一个最大值, ORACLE 自己会负责这些区域每个组件的分配。
oracle 数据库可用于不同的语言存储字符数据,包括中文,日文等等,这些语言使用 NCHAR 和 NVARCHAR2 数据类型。
以上是 oracle 对 sql 的响应情况,其中 阴影部分为可选。即便是开发人员没有使用显示游标,oracle服务器也默认使用游标,
1. 连接到数据库: 是通过 TCP/IP 来与 oracle 服务器的监听器接收,这就是会话,一般每个会话都有进程。
2. 建立游标: PGA 中包含游标信息,不需要显示打开游标来执行一个SQL语句,因为oracle数据库可以自动执行该功能。
对于DDL和写操作,语句载入到共享的SQL区域,就可以开始执行了,对于查询来说,语句必须经过一步额外优化。oracle会确认在内存中是否存在语句。
使用绑定变量的好处:
例如 : SELECT ENAME FROM EMP WHERE EMP_ID = 7
SELECT ENAME FROM EMP WHERE EMP_ID = 5
一看上边两句就用该使用同一个优化计划,但是实际不是,因为 条件限制,而如果使用绑定变量,就可以使用同一个优化计划。
SELECT ENAME FROM EMP WHERE EMP_ID = :empID