Oracle 高级编程 01 ~

PGA

程序全局区域( Program Global Area ) 是 只对一个段杜的服务器进程可用的内存区域,PGA 包含的条目,用户变量和一个单独用户的SQL语句的游标信息,例如目前已检索的行数。

在 ORACLE 10g , 可以简单的为 SGA 和 PGA 设置一个最大值, ORACLE 自己会负责这些区域每个组件的分配。

NCHAR 和 NVARCHAR2 数据类型

oracle 数据库可用于不同的语言存储字符数据,包括中文,日文等等,这些语言使用 NCHAR 和 NVARCHAR2 数据类型。


oracle 数据库如何对 SQL 语句做出响应 ?

image

以上是 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


原文地址:https://www.cnblogs.com/moveofgod/p/2883732.html