• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Oracle Pro*C/C++游标和存储过程性能测试报告

发布: 2009-6-22 10:28 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 231次 | 进入软件测试论坛讨论

领测软件测试网

 表2 3000条记录测试结果

    测试次数

    使用cursor方式(TD)

    使用PL/SQL方式(WCDMA)


3"
0"


2"
0"


2"
0"


2"
0"


2"
0"

平均
2.2”
0”

 

   

    表3 9000条记录测试结果

    测试次数

    使用cursor方式(TD)

    使用PL/SQL方式(WCDMA)


0"
0"


14"
1"


9"
0"


13"
1"


10"
0"

平均
9.2”
0.4”

 

    根据测试结果可以看出的确用存储过程在大数据量时是极其有优势的,特别是在大数据量的情况下,并且存储过程的性能极其稳定,cursor方式由于时间长,感觉受网络状况影响较大,时间长短不定。可以得出结论使用储存过程将18倍的提高数据查询读取速度。

    1.3 部分测试代码

    1.3.1 测试表脚本:

    创建用于查询的表

drop table tb_boardt;

create table tb_boardt(

BYBOARDTYPE NUMBER(3),

ABYBOARDNAME VARCHAR2(15)

) tablespace cm_space;


    用储存过程向表中插入需要查询的120000记录:)

declare

i integer :=0;

begin

for i in 1..20000 loop

insert into tb_boardt values(1,%27Allen_BOARD%27);

insert into tb_boardt values(2,%27LILY_BOARD%27);

insert into tb_boardt values(4,%27LIL_BOARD%27);

insert into tb_boardt values(5,%27ALLEN_BOARD%27);

insert into tb_boardt values(6,%27BEMC_BOARD%27);

insert into tb_boardt values(7,%27TWIM_BOARD%27);

commit;

end loop;

end;


    用于读取记录的存储过程包头

create or replace package testEptTbl as

type charArrayType is table of varchar2(2048)

index by binary_integer;

type lcharArrayType is table of varchar2(2048)

index by binary_integer;

type numArrayType is table of int

index by binary_integer;

num INTEGER;

m_RncID INTEGER;


procedure get_R0BrdLib(

batch_size in integer,

found in out integer,

done_fetch out integer,

BoardType1 out numArrayType,/*单板类型Board Type*/

BoardName1 out charArrayType/*各子单元类型包含的子单元个数Sunit Number Per Type*/);


end testEptTbl;

/

show err


    用于记录的存储过程包体

create or replace package body testEptTbl as


/* 3 */

cursor CUR_R0BrdLib is

SELECT BYBOARDTYPE,ABYBOARDNAME FROM tb_boardt;

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

42/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网