WEB开发网
开发学院数据库Oracle 两种Oracle应用程序开发接口的对比分析 阅读

两种Oracle应用程序开发接口的对比分析

 2007-05-08 12:09:02 来源:WEB开发网   
核心提示: OCI还是其他Oracle开发接口的底层实现,如ADO、JDBC都是在OCI上层的封装,两种Oracle应用程序开发接口的对比分析(3),由于OCI是比较底层的接口,少了很多层的封装,生成my_objects表,然后对My_objects表自身进行五次递归镜像,可以提供应用程序与Oracl

OCI还是其他Oracle开发接口的底层实现,如ADO、JDBC都是在OCI上层的封装,由于OCI是比较底层的接口,少了很多层的封装,可以提供应用程序与Oracle的直接连接,所以OCI可以提供最佳的性能。正是基于此,Oracle自身的一些工具及许多著名的Oracle 数据库工具也都是用OCI开发的,如大名鼎鼎的Toad。笔者的OraExplorer也是基于OCI接口开发。

但由于C/C++的学习难度比较大,所以OCI的开发难度与ADO、JDBC等开发接口相比要大许多,OCI的每一个函数的参数都非常多,且比较难以理解,而国内关于OCI开发的学习资料非常少,所以使用OCI开发应用程序的程序员相对ADO的程序员要少得多。

三、对比实验设计

本文将通过一个具体的实验来对比ADO与OCI的性能差距,数据库访问接口的性能主要体现在两个方面,一个是数据读取速度,另一个是数据写入速度,所以本文将基于ADO和OCI各自开发一个Visual C++ 6.0应用程序来进行这两个方面的实验,每个程序完成功能如下:

1) 建立连接

首先,需要连接到Oracle服务器,在这一步需要用户提供SID、用户名和密码信息。

2) 数据初始化

为了实验的通用性及方便读者重现,本实验直接在System用户下操作,需要一个记录数比较多的表来,首先对all_objects表镜像,生成my_objects表,然后对My_objects表自身进行五次递归镜像,最生成一个百万记录的表。相关SQL语句如下:

Truncate table my_objects;
Drop table my_objects;
create table my_objects as select * from all_objects;
insert into my_objects select * from my_objects;
insert into my_objects select * from my_objects;
insert into my_objects select * from my_objects;
insert into my_objects select * from my_objects;
insert into my_objects select * from my_objects;

3) 数据读取

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 应用程序 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接