17,086
社区成员
发帖
与我相关
我的任务
分享
create table tb(
ID NUMBER,
DOMAIN VARCHAR2(50),
IP LONG
) NOLOGGING ;
CREATE OR REPLACE PROCEDURE p_insert
IS
num NUMBER; --批量提交参数
BEGIN
FOR i IN 1..10000000 LOOP
insert /*+append*/ into tb VALUES(i,'www.a_'||i||'.com',3232238953+(i-1)*10); --执行插入
num:num+1;
IF Mod(num,100)=0 THEN --一百笔提交一次,分批量提交,及时释放redo log buffer
COMMIT;
END IF;
END LOOP;
END;
alter table tb LOGGING
SQL> create table t_test
2 (ID NUMBER,
3 DOMAIN VARCHAR2(50),
4 IP LONG);
Table created
SQL>
SQL> insert into t_test
2 select rownum,'www.a_'||rownum||'.com',3232238943+10*rownum from dual
3 connect by rownum<=10000000;
10000000 rows inserted
SQL> commit;
create table tb(
ID NUMBER,
DOMAIN VARCHAR2(50),
IP LONG
) NOLOGGING ;
--procedure
CREATE OR REPLACE PROCEDURE p_insert
IS
BEGIN
FOR i IN 1..10000000 LOOP
insert /*+append*/ into tb VALUES(i,'www.a_'||i||'.com',3232238953+(i-1)*10); --执行插入
END LOOP;
END;
SQL> create table t_test
2 (ID NUMBER,
3 DOMAIN VARCHAR2(50),
4 IP LONG);
Table created
SQL>
SQL> insert into t_test
2 select rownum,'www.a_'||rownum||'.com',3232238943+10*rownum from dual
3 connect by rownum<=10000000;
10000000 rows inserted
SQL> commit;