- 浏览: 1203755 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
性能测试场景之一:
[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;
[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;
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1953并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1463按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1406Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1488Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1402Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1859一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19659oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1891Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3515去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2141一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16321.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3393要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9121IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1891为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3075一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1990加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2073一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 8010AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1500select to_char(sysdate, 'Day'), ...
相关推荐
在Oracle数据库环境中,PL/SQL Developer(简称PLSQL)是一种常用的工具,用于编写、调试和管理PL/SQL代码。当我们需要处理大量数据导入任务时,PLSQL提供了多种方法来实现批量导入,这些方法高效且灵活。本文将详细...
本文将深入探讨“plsql”与“sqlDbx”这两种广受欢迎的数据库连接工具,以及它们如何帮助用户更好地管理和操作数据库。 首先,让我们了解下“plsql”。PL/SQL(Procedural Language/Structured Query Language)是...
在Oracle数据库环境中,...综上所述,"plsql大数据量导出工具"结合了SQL*Loader、PL/SQL以及大数据处理的最佳实践,旨在提供一个高效、安全且灵活的解决方案,帮助用户在Oracle环境中轻松处理大规模数据的导出需求。
在“数据字典与sql语句生成工具.zip”这个压缩包中,我们可以看到几个关键文件: 1. **ExcelToPostgreSql.exe**:这是一个可能用于将Excel表格数据导入到PostgreSQL数据库的应用程序。PostgreSQL是一种强大的开源...
PL/SQL 批量生成数据功能研究是指使用 PL/SQL 客户端生成大批量数据的方法,该方法可以解决公司开发环境数据量小的问题,无法进行有效的性能测试,使得很多程序存在性能上的瓶颈却没有及时发现并修正,对各省市现场...
1. **数据库开发**:对于数据库管理员和开发人员来说,PLSQL Developer是日常开发和维护数据库程序的理想工具,它简化了复杂的PL/SQL代码编写和管理。 2. **性能优化**:通过分析执行计划和调用堆栈,可以定位性能...
本文档是关于Sql和Plsql的测试资料,旨在评估和提升培训人员对这两种数据库语言的基础知识和应用能力。Sql是结构化查询语言,主要用于数据查询、更新和管理关系型数据库,而Plsql是Oracle数据库特有的编程语言,结合...
PLSQL Developer是一款强大的Oracle数据库开发工具,它提供了方便的数据导入导出功能,使得数据库对象和数据的迁移变得简单。在本文中,我们将详细介绍如何在PLSQL Developer中进行数据的导入导出。 首先,我们来看...
然而,"PLSQL Developer10.0.3.1701_keygen.exe"这样的文件名暗示了一个键生成器(keygen),它可能是一个第三方工具,用于生成可以欺骗软件验证过程的虚假密钥。 键生成器的工作原理通常是模拟原软件的许可证验证...
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连接工具...
### PL/SQL 导出数据至 Excel 的三种方法详解 #### 方法一:直接导出(适用于少量数据) 此方法较为直观简单,适用于导出数量不多的数据。具体步骤如下: 1. **查询数据**:首先,在PL/SQL Developer的SQL Window...
3. 根据查询出来的表格,选择行之后可任意生成Insert,Update,Delete等SQL,生成SQL可直接运行; 4. 生成Insert,Update,Delete等SQL的时候,会自动过滤掉种子列和计算列; 5. 批量操作字符串,批量增加和批量减少...
在寻找类似PL/SQL的工具来管理MySQL时,我们经常会提到“类似PLSQL的中文版MySQL工具”,这通常是指那些提供图形用户界面(GUI)和对MySQL数据库进行可视化操作的工具。这些工具让数据库管理变得更加直观,尤其对于...
3. **PL/SQL增强**:PL/SQL支持了匿名块、存储过程、函数、触发器等,11g版本中增加了异常处理的灵活性,以及对游标的改进,使得处理大量数据时更加高效。 4. **数据仓库与OLAP**:Oracle 11g支持快速的数据加载和...
2. **Toad for Oracle**:由Quest Software开发,是一款强大的第三方数据库管理工具,提供了全面的PL/SQL美化和开发支持。 3. **PL/SQL Developer**:由Allround Automations开发,专为PL/SQL设计,具有出色的代码...
PLSQL Developer是一款专门为Oracle数据库设计的强大开发工具,它由Allround Automations公司开发,是数据库管理员、开发人员和测试人员进行PL/SQL编程的理想选择。这个工具提供了全面的环境,帮助用户更高效地管理...
Oracle数据库连接工具PLSQL轻桌面工具包,安装PLSQL必须下载轻桌面工具包
标题中的“SQL Plus和plsqldev操作”涉及的是两种常用的Oracle数据库管理工具,它们是数据库管理员和开发人员在日常工作中经常使用的。SQL Plus是Oracle公司提供的一个命令行工具,用于执行SQL查询、脚本和管理...