Oracle 11g 新特性-- API和预编译改进

来源:互联网 发布:mysql主键 编辑:程序博客网 时间:2024/05/14 16:13

11g提供了大量新的接口,提高了性能和应用扩展性

1、客户端查询缓存Client-Side Query Cache

通过在客户端缓存相关查询结果,提高系统查询,减少网络数据传输,降低数据库主机cpu负载。

在 Oracle Databas 11g中,可以使用 Oracle 调用接口 (OCI) 客户机查询高速缓存对客户机内存中的查询结果集启用高速缓存。

高速缓存结果集数据以透明方式与服务器端上的所有更改保持一致。由于高速缓存中保存有相应信息,因此利用此功能的应用程序会提高查询的性能。此外,使用高速缓存的查询可避免在发送查询和获取结果时在客户机和服务器之间进行往返。处理查询所用的服务器 CPU 会减少,从而提高了服务器的可扩展性。

当应用程序生成重复的结果集、小型结果集、静态结果集或频繁执行的查询时,客户端高速缓存非常有用。

客户机和服务器结果高速缓存是独立的,可独立启用或禁用它们。

使用客户端查询高速缓存,可在初始化参数文件中设置下列两个参数: 

CLIENT_RESULT_CACHE_SIZE:非零值表示启用客户机结果高速缓存。这是客户机每个进程的结果集高速缓存的最大大小(以字节表示)。所有 OCI 客户机进程都可达到此最大值,可以使用OCI_RESULT_CACHE_MAX_SIZE 参数覆盖此值。

CLIENT_RESULT_CACHE_LAG:自客户机与服务器之间的最后一次往返后的最长时间(以毫秒为单位),在此之前 OCI 客户机查询执行一次往返以获得与在客户机上高速缓存的查询相关的所有数据库更改。

客户机配置文件是可选的,并且可覆盖服务器初始化参数文件中的高速缓存参数集。参数值可以包含于 sqlnet.ora 文件中。

2、客户端OCI字符信息加入视图OCIClient Session NLS Character Set Status Information, 客户端进程的NLS和字符集信息写入到V$SESSION_CONNECT_INFO和GV$SESSION_CONNECT_INFO视图,有利于DBA诊断。

3、预编译器:Additional Array INSERT and SELECT Syntax Support byPro*C/C++ and Pro*COBOL,为Pro*C/C++和COBOL新增了数组insert/select支持。

4、 预编译器:PRO*C/C++和Pro*COBOL的动态SQL缓存,通过把预编译语句cache到缓存中,重用减少了解析阶段工作,提升了性能。

5、 使用outline固化在Pro*C/C++和Pro*COBOL的执行计划,保证不同环境配置下的性能稳定。

6、 Flexible B Area Length for Pro*COBOL from72 to 253

7、 Pro*C/C++ 和Pro*COBOL的循环插入可以被缓存提交,减少了网络交互次数,提高性能。

8、 增强了Pro*COBOL的字节序支持,unicode数据能够在windows/linux小字节序系统平台上使用。

9、 提供了Pro*COBOL的游标支持

10、Precompilers: SQL99 SyntaxSupport by Pro*C/C++
0 0