美文网首页spring boot
Oracle和Mysql插入100w条数据

Oracle和Mysql插入100w条数据

作者: 410ca74fb10e | 来源:发表于2019-06-01 09:04 被阅读524次
  • 基于Oracle 10G(03年的版本,现在18C)
  • PL/SQL 8.0.4(都是很老的版本,现在都13了)
  • 基于Mysql(5.5.32)
  • 基于ORACLE SCOTT用户的DEPT表做测试

1. Oracle部分

1.1 先创建一张测试表

create table dept_1 as 
select * from dept where 1=2

还要修改下dept_1中deptno的属性,默认只有2位,改为10位。

alter table dept_1 modify deptno number(10)

1.2 啥也不说直接帖代码

begin 
for i in 1..1000000 loop 
  insert into dept_1(deptno,dname,loc) values(i,'NBA'||i,'HOU'||i);
end loop; 
commit; 
end;

实测18秒左右,快吗?很慢,但也没啥关系。


image.png

上面是SQL 编程最简单的一个应用吧,无非就是不熟悉语法,简单到发指的成都哎。

2. Mysql部分

2.1 说在前面

  • 仍然要创建一个测试表
  • 注意各字段的值域范围

2.2 代码

DROP PROCEDURE IF EXISTS test_insert;

DELIMITER //
CREATE PROCEDURE test_insert()
BEGIN
  DECLARE n INT DEFAULT 1;
  WHILE n < 1000000 DO
            INSERT INTO dept_1 VALUES(n,CONCAT('NBA',n),CONCAT('HOUSTON',n));
            SET n = n + 1; 
  END WHILE;
COMMIT;
END
//
CALL test_insert();

2.3 语法简单说明

  • 此处创建了一个存储过程,oracle也可以
  • Mysql和Oracle的语法还是不太一样的
  • 比如concat和||在ORACLE中通用,但mysql不能用||

说在最后

  1. 有其他方法吗?有,很多,如果是构造数据,那这个可以试一下,非常适合新手。如果是已有数据,去看看导入吧,有很多的导入工具,比如ORACLE PLSQL DEV中的Tools下面的几个IMP工具。再高级的我也不会了,工作中没用到过,没办法,学以致用吗,学而无用不如不学,费脑子。
  2. PLSQL的语法就是一门语言,要学的话也要系统的学习方可,我就会点皮毛。

相关文章

网友评论

    本文标题:Oracle和Mysql插入100w条数据

    本文链接:https://www.haomeiwen.com/subject/wtlotctx.html