`

生成大量的测试数据的三种方法,1写sql,2工具plsql,3LoadRunner

阅读更多
性能测试场景之一:
[1]03 临时表里有20W记录,发送ESB
说明:结算后台对完账后,在对账汇总确认菜单中点“确认”按钮,系统会将已清算的数据信息插入资金库的临时表pac_biz_account_histmp中,然后逐步esb发送给物流订单系统进行分润处理。
一 通过工具生成20w笔记录1、  首先介绍一种很方便的方法:采用PL SQL Develop内嵌的data generator工具
1)  打开PL SQL Develop,选择Tools/Data Generator,出现以下界面

 




2)  Owner中选择资金库Pacioli,Table中选择临时表pac_biz_account_histmp,number of records中输入200000(这些都可以根据具体的需要进行选择的噢)
然后下面会出现临时表中所有的字段,根据实际情况进行配置后,显示如下:


 


3)        当然拉,为了防止ID和现有的表重复,我们是可以使用SEQUENCES的,点击每个字段后面的…选项可以对每个字段进行设置
4)        所有的准备好之后,我们可以先测试一下Strat a test run,测试通过后,可以选择窗口中左下角的create data in DB按钮即可生成数据到临时表中。

2.通过自动化工具实现,下面以load runner为例
   1)  Load runner是一款负载压力测试工具,可以通过load runner的Vurtual User Generator工具实现模拟业务场景然后系统向数据库中插入记录,跟进实际业务实现使用load runner向表中插入记录,或者通过脚本来实现,现将脚本操作和运行过程分享下:
   2) 打开Mercury LoadRunner,选择applications/Vurtual User Generator,在出现的窗口中选择Oracle(2-tier)如下图:

 


3) 点击ok后,在弹出的窗口中选择:

 



其中Program to record 选择电脑中plsqldev.exe的安装路径,然后点击ok,在弹出的窗口中输入以下脚本:
vuser_init()
{
    unsigned long rownum;
//初始化数据库部分
         lrd_init(&InitInfo, DBTypeVersion);
         lrd_initialize_db(LRD_DBTYPE_ORACLE, 3, 0);
         lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
         lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);//
         lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
         lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);

//连接数据库
         lrd_server_attach(OraSrv1, "PAY", -1, 0, 0);//pay怎么得到的?
//初化始句柄
    lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);
//连接数据库
         lrd_ora8_attr_set(OraSes1, USERNAME, "adm_zhifb", -1, 0);
         lrd_ora8_attr_set(OraSes1, PASSWORD, "ali88", -1, 0);

//初始化句柄
    lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

//进程开始      
    lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
         lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);
//设定语句
    lrd_ora8_stmt(OraStm1, "insert into zhifb.beyond_bank_pay_online(id,iw_account_no,gmt_create) values (zhifb.seq_beyond_bank_pay_online.nextval,1234,to_date('2005-4-12 13:45:34','YYYY-MM-DD fmHH24fm:MI:SS'))",1,0,0);
//执行语句
lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum,0,0, 0, 0, 1);
         return 0;
}
这个脚本是师傅流川教我的,目前我也不大懂,有兴趣的同学以后可以和我一起学习这个哦,不过这个脚本在运行的时候向临时表插入有点问题,希望各位大虾指点下
直接通过SQL语句来实现    在表浏览视图,选择表后,按住鼠标左键将表拖到query sql窗口,然后在弹出的快捷菜单中选择insert,然后在另一个表里面点select,修改where条件(这样就可以不用书写这么一大串SQL语句了,直接通过鼠标操作实现
insert into pac_biz_account_histmp
  (id,   bank_name,   trans_code,   digest_no,   amount,   trans_log_id,   account_date,   compare_date,   clear_date,   voucher_no,   batch_no,   gmt_create,   gmt_modified,   memo,   standby_voucher_no,   operator)
  select id,  bank_name, trans_code, digest_no,amount,trans_log_id,account_date, compare_date,         clear_date,         voucher_no,         batch_no,         gmt_create,         gmt_modified,         memo,         standby_voucher_no,         operator
from pac_biz_account_history where rownum<5001 and  bank_name = '宅急送快递' and trans_code = '400322'
通过存储过程来实现存储过程可以理解为是内嵌在ORACLE里面的包装好的SQL语句。存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
在公司内部,创建存储过程是必须通过DBA的批准的。在数据库中查找存储过程很方便,在数据库浏览窗口中选择Procedures来查看,可以看一个简单的例子:
while()
{
         callprocedure("p_test").;
         }
create procedure p_test(a,b,c)
begin
         insert into t values(a,b,c);
end;
四 通过程序来实现   程序实现有两种方式
一种为通过for循环,链接数据库,然后执行insert操作实现,不过这种方式会每insert一条记录然后就要链接一次数据库,而且还要网络传输数据到DB中,所以会比较慢
另一种也是通过程序,不过可以把链接数据库的操作在for循环之前执行,然后insert多条数据的时候就只用耗费网络传输数据的时间了,这样比之前的一种操作要节约时间一些。
附上一个简单的例子:
java
while()
{
         callprocedure("p_test").;
         }
create procedure p_test(a,b,c)
begin
         insert into t values(a,b,c);
end;

  • 大小: 19.5 KB
  • 大小: 28.6 KB
  • 大小: 37.1 KB
  • 大小: 19.6 KB
分享到:
评论

相关推荐

    plsql批量导入数据

    在Oracle数据库环境中,PL/SQL Developer(简称PLSQL)是一种常用的工具,用于编写、调试和管理PL/SQL代码。当我们需要处理大量数据导入任务时,PLSQL提供了多种方法来实现批量导入,这些方法高效且灵活。本文将详细...

    plsql+sqlDbx数据库连接工具

    本文将深入探讨“plsql”与“sqlDbx”这两种广受欢迎的数据库连接工具,以及它们如何帮助用户更好地管理和操作数据库。 首先,让我们了解下“plsql”。PL/SQL(Procedural Language/Structured Query Language)是...

    plsql大数据量导出工具

    在Oracle数据库环境中,...综上所述,"plsql大数据量导出工具"结合了SQL*Loader、PL/SQL以及大数据处理的最佳实践,旨在提供一个高效、安全且灵活的解决方案,帮助用户在Oracle环境中轻松处理大规模数据的导出需求。

    数据字典与sql语句生成工具.zip

    在“数据字典与sql语句生成工具.zip”这个压缩包中,我们可以看到几个关键文件: 1. **ExcelToPostgreSql.exe**:这是一个可能用于将Excel表格数据导入到PostgreSQL数据库的应用程序。PostgreSQL是一种强大的开源...

    plsql批量生成数据功能研究

    PL/SQL 批量生成数据功能研究是指使用 PL/SQL 客户端生成大批量数据的方法,该方法可以解决公司开发环境数据量小的问题,无法进行有效的性能测试,使得很多程序存在性能上的瓶颈却没有及时发现并修正,对各省市现场...

    PLSQL.Developer工具

    1. **数据库开发**:对于数据库管理员和开发人员来说,PLSQL Developer是日常开发和维护数据库程序的理想工具,它简化了复杂的PL/SQL代码编写和管理。 2. **性能优化**:通过分析执行计划和调用堆栈,可以定位性能...

    Sql_Plsql测试.pdf

    本文档是关于Sql和Plsql的测试资料,旨在评估和提升培训人员对这两种数据库语言的基础知识和应用能力。Sql是结构化查询语言,主要用于数据查询、更新和管理关系型数据库,而Plsql是Oracle数据库特有的编程语言,结合...

    PLSQL导入导出数据方法 .doc

    PLSQL Developer是一款强大的Oracle数据库开发工具,它提供了方便的数据导入导出功能,使得数据库对象和数据的迁移变得简单。在本文中,我们将详细介绍如何在PLSQL Developer中进行数据的导入导出。 首先,我们来看...

    plsql key生成工具

    然而,"PLSQL Developer10.0.3.1701_keygen.exe"这样的文件名暗示了一个键生成器(keygen),它可能是一个第三方工具,用于生成可以欺骗软件验证过程的虚假密钥。 键生成器的工作原理通常是模拟原软件的许可证验证...

    plsql sql语句自动补全

    plsql中 sql 语句自动补全 如 只输入s 即可自动补全为 select * from 使用方法 下载该文件 并在plsql中 选择 tools-perferences-edit-autoreplaces 点击浏览 选择该文件

    Oracle连接工具plsql11x64位

    Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...

    plsql导出数据到excel的三种方法

    ### PL/SQL 导出数据至 Excel 的三种方法详解 #### 方法一:直接导出(适用于少量数据) 此方法较为直观简单,适用于导出数量不多的数据。具体步骤如下: 1. **查询数据**:首先,在PL/SQL Developer的SQL Window...

    自动生成Insert,Update,Delete等SQL,批量操作字符,实用小工具

    3. 根据查询出来的表格,选择行之后可任意生成Insert,Update,Delete等SQL,生成SQL可直接运行; 4. 生成Insert,Update,Delete等SQL的时候,会自动过滤掉种子列和计算列; 5. 批量操作字符串,批量增加和批量减少...

    类似plsql中文版mysql工具

    在寻找类似PL/SQL的工具来管理MySQL时,我们经常会提到“类似PLSQL的中文版MySQL工具”,这通常是指那些提供图形用户界面(GUI)和对MySQL数据库进行可视化操作的工具。这些工具让数据库管理变得更加直观,尤其对于...

    Oracle_Database_11g_SQL_-_Master_SQL_and_PLSQL_in_the_Oracle_Database

    3. **PL/SQL增强**:PL/SQL支持了匿名块、存储过程、函数、触发器等,11g版本中增加了异常处理的灵活性,以及对游标的改进,使得处理大量数据时更加高效。 4. **数据仓库与OLAP**:Oracle 11g支持快速的数据加载和...

    Plsql美化工具的文件

    2. **Toad for Oracle**:由Quest Software开发,是一款强大的第三方数据库管理工具,提供了全面的PL/SQL美化和开发支持。 3. **PL/SQL Developer**:由Allround Automations开发,专为PL/SQL设计,具有出色的代码...

    PLSQL-oracle工具

    PLSQL Developer是一款专门为Oracle数据库设计的强大开发工具,它由Allround Automations公司开发,是数据库管理员、开发人员和测试人员进行PL/SQL编程的理想选择。这个工具提供了全面的环境,帮助用户更高效地管理...

    Oracle数据库连接工具PLSQL轻桌面工具包

    Oracle数据库连接工具PLSQL轻桌面工具包,安装PLSQL必须下载轻桌面工具包

    SQL Plus和plsqldev 操作

    标题中的“SQL Plus和plsqldev操作”涉及的是两种常用的Oracle数据库管理工具,它们是数据库管理员和开发人员在日常工作中经常使用的。SQL Plus是Oracle公司提供的一个命令行工具,用于执行SQL查询、脚本和管理...

Global site tag (gtag.js) - Google Analytics