qtsql oracle oci6,otl和qtsql操作数据库效率对比.docx

41528d3028836879cd698677c3999917.gifotl和qtsql操作数据库效率对比.docx

OTL和QTSQL操作数据库效率对比20150716张志敏一、OTL访问数据库一简介OTL是ORACLE,ODBCANDDB2CLITEMPLATELIBRARY的缩写,是一个操控关系数据库的C模板库,它目前几乎支持所有的当前各种主流数据库,如下表所示数据库访问接口支持版本ORACLEOCIOCI7、OCI8、OCI8I、OCI9I、OCI10GDB2CLIDB2CLIMSSQLSERVER、SYBASE、INIX、MYSQL、INTERBASE/FIREBIRD、POSTGRESQL、SQLITE、SAP/DB、TIMESTEN、MSACCESSODBCODBC25、ODBC3XORACLE和DB2也可以由OTL间接使用ODBC的方式来进行操纵。OTL中直接操作ORACLE主要是通过ORACLE提供的OCI接口进行,依赖于ORACLE客户端。OTL使用简单,只要头文件中包含有INCLUDE“OTLV4H”就可,实际上整个OTL就一个“H”的文件,使用起来极为的方便。优点1跨平台2运行效率高,与C语言直接调用数据库API相当3开发效率高,使用方便,繁在其内,简在其外,比ADONET使用起来更简单,更简洁4部署容易,不需要ADO组件,不需要NETFRAMEWORK等缺点1只能在C中使用二测试条件操作系统CENTOS66(64BIT)虚拟机ORACLE112010数据量10,000条字段数量2测试方法增、删、改、查操作均按照一条一条执行的方式进行三耗时统计OTL测试结果(10万条)统计次数操作内容1(S)2(S)3(S)4(S)5(S)平均(S)插入1141171161221151168修改117125129127127125查询6663646263636删除1271331281291261286二、QTSQL访问数据库一简介QT提供了QTSQL模块来访问数据库,此模块使用驱动插件来与不同类型的数据库接口进行交互。由于QT的SQL模块接口是依赖数据库的,因此所有的驱动插件中都包含了对应类型的数据库的代码。部分数据库驱动已由QT提供,其它的数据库驱动可以添加。QT提供了驱动源代码,开发者可用此源代码作模板编写自己的数据库驱动。下表列出了QT包含的数据库驱动。由于GPL许可证的支持问题,开源版本的QT未列出所有的数据库驱动。DRIVERNAMEDBMSQDB2IBMDB2VERSION71ANDABOVEQIBASEBORLANDINTERBASEQMYSQLMYSQLQOCIORACLECALLINTERFACEDRIVERQODBCOPENDATABASECONNECTIVITYODBCMICROSOFTSQLSERVERANDOTHERODBCCOMPLIANTDATABASESQPSQLPOSTGRESQLVERSIONS73ANDABOVEQSQLITE2SQLITEVERSION2QSQLITESQLITEVERSION3QSYMSQLSQLITEVERSION3FORSYMBIANSQLDATABASEQTDSSYBASEADAPTIVESERVERNOTEOBSOLETEFROMQT47QT通过QSQLDATABASE类访问数据库。QSQLDATABASE类代表对一个数据库的连接。QSQLDATABASE类通过一个连接提供了访问数据库的一个接口。QSQLDATABASE类的一个实例代表了一个连接。该连接通过QSQLDRIVER加载QT支持的数据库驱动来访问数据库。另外可以通过继承QSQLDRIVER类来定义自己的数据库驱动。二测试条件操作系统CENTOS64(64BIT)普通台式机ORACLE102010数据量10,000条、100,000条字段数量2测试方法增、删、改、查操作均按照一条一条执行的方式进行三耗时统计1、数据量为1万条时的测试结果如下QTSQL测试结果(1万条)统计次数操作内容1(S)2(S)3(S)4(S)5(S)平均(S)插入1061081061191141106修改1051041051071081058查询1615131415146删除10810510610710810682、数据量为10万条时的测试结果如下QTSQL测试结果(10万条)统计次数操作内容1(S)2(S)3(S)4(S)5(S)平均(S)插入1100108610511071106010736修改115410701085107710691091查询153565711211298删除1121106711061056105610812三、效率对比将上述统计结果汇总如下OTL、QTSQL操作数据库对比插入(S)修改(S)查询(S)删除(S)OTL11681256361286QTSQL1073610919810812由上述结果,显而易见,OTL操作数据库的效率明显要高于QTSQL。因此,在对大批量数据操作效率有较高要求的情况下,OTL比QTSQL更有优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值