[Oracle]快速插入大量(100w)数据
背景:无论在开发调试或者软件测试中,测试数据的准备是调试/测试执行前重要和必要的一个环节,因此以下几种方式可以快速插入大量数据:
第一种方法:
declare
-- Local variables here
m integer;
begin
-- Test statements here
--输出开始时间
dbms_output.put_line('start:'||sysdate);
m:=0;
--循环插入的数据量
for i in 1..1000000 loop
m:=m+1;
--插入语句,其中'admintest'||m, 为admintest后面加数字,以便标识每条记录都不一样
insert into KF_SEC_USER (USER_ID, GROUP_ID, EXTSYS_USER_ID, USER_NAME, USER_CNAME, PWD, MOBILE, PHONE, EMAIL, DESCRIPTION, ENABLED, HIS_ID, ROLES, TERMINAL_ID)
values (sys_guid(), '001', null,'admintest'||m, 'admin', '96E79218965EB72C92A549DD5A330112', '13560316185', null, null, null, null, null, null, null);
commit;
end loop;
--输出结束时间
dbms_output.put_line('end:'||sysdate);
end;
第二种方法:
--创建存储过程语句
CREATE OR REPLACE PROCEDURE p_insert
IS
--批量提交参数
num NUMBER;
BEGIN
FOR i IN 1..10000000 LOOP
--插入语句
insert into USERINFO (ID, NAME, AGE, ADDRESS, OCCUPATION_NAME)
values (1, 'ouhy', 25, '广东省佛山市南海区XXXX公司', '测试工程师); --执行插入
num:=num+1;
--5000笔提交一次,分批量提交,及时释放redo log buffer
IF Mod(num,5000)=0 THEN
COMMIT;
END IF;
END LOOP;
END;
--执行语句
begin
p_insert;
commit;
end;
[Oracle]快速插入大量(100w)数据的更多相关文章
- for循环往Oracle中插入n条数据,主键自增
1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert ...
- Oracle快速插入数据append
1:用merge into 进行匹配更新和插入,2: 开启并行,提高速度3: 如果可以的话加NOLOGING 不写入日志4:如果数据有规律的话,分批次执行 1.使用marge快速插入; MERGE / ...
- 向Oracle数据库插入一条数据
这几天搞了一下Oracle数据库.可能用sql server习惯了,感觉好不方便.PL的界面友好度比sql server差远了 .既然都收购了PL了 为什么不给它做好一点呢?各种不便.郁闷 向Orac ...
- [Oracle]快速生成大量模拟数据的方法
快速生成大量模拟数据的方法: create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, ...
- Oracle 快速插入1000万条数据的实现方式
1.使用dual配合connect by level create table BigTable as select rownum as id from dual connect by level & ...
- ORACLE / PLSQL 插入或更新数据的几种方式
第一种,直接用values 插入 ---日期需要用TO_DATE操作 INSERT INTO EMP (EMPNO,ENAME ,JOB,MGR, HIREDATE , SAL ,COMM, DEPT ...
- Mybatis 向oracle批量插入与更新数据
插入 <insert id="batchSave" parameterType="java.util.List"> INSERT INTO T_UP ...
- Oracle同时插入多条数据
INSERT ALL INTO 表名(NAME) VALUES ('tony') INTO 表名(NAME) VALUES ('tony2') INTO 表名(NAME) VALUES ('tony3 ...
- 如何快速的插入 100W数据到数据库,使用PreparedStatement 最快实现!
有时候,我们使用数据库的时候,如何快速的添加测试数据到数据库中,做测试呢,添加100W 数据,如果使用工具的话可能很慢,这里我推荐大家使用 PreparedStatement 预编译 去进行操作:单线 ...
随机推荐
- 【NET MVC】View
通过阅读一些书籍,结合源代码,稍微深入的学习了Asp.Net MVC中的视图View 任何类型的响应都可以利用当前HttpResponse来响应,MVC可以通过Controller的Response属 ...
- Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
- MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项
PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...
- JavaScript基础深入研究
一.DOM事件 1.事件阻止API preventDefault() — 阻止浏览器默认 stopPropagation() — 阻止事件流冒泡 stopImmediatePropagation() ...
- MySQL常用SQL总结
1. 常见命令 连接本地数据库与远程数据库(172.16.xx.xx:3306): mysql -h localhost -u root -p123 mysql -h 172.16.xx.xx -P ...
- 【Bug】看不见的分隔符: Zero-width space
今天在调试一段代码的时候,有一个输入不能为空的库函数抛出了异常(为空就会抛出异常,就是这么傲娇).自己暗骂了自己一番,怎么这么大意,于是追溯源头,开始寻找输入控制的地方.但是当我找到时我惊呆了,我明明 ...
- 火狐浏览器与Chorme的兼容性小问题
1.如果 result 返回时空字符串, 则在 火狐里面 回调函数不会进入执行. 如果是 谷歌浏览器,则会 执行回调. $.post(, ipagesize: , strSearchKey: strk ...
- 微软版的SqlHelper.cs类
一,微软SQLHelper.cs类 中文版: using System; using System.Data; using System.Xml; using System.Data.SqlClien ...
- C# 发送Http请求 - WebClient类
WebClient位于System.Net命名空间下,通过这个类可以方便的创建Http请求并获取返回内容. 一.用法1 - DownloadData string uri = "http:/ ...
- 扩展lamda表达中distinct按照字段去除重复
首先,我们定义一个Student类来测试. public class Student { public int ID { get; set; } public string Name { get; s ...