test表裡有幾十W筆數據,我一次一交三W筆就很慢,我一般建一個表把要更新的數據放到那然後做關連批量更新,有沒有更好的方法啊,或者可以加hinst來加快速度..望高手指點
解决方案 »
- oracle delete删除数据后磁盘空间的释放问题
- 求一条SQL语句?
- ORACLE,求助~~
- oracle10g java执行存储过程的时候报 java.sql.SQLException: 类型长度大于最大值
- linux下oracle由10201升级到10205出错
- oracle 作业定期执行作业,如某月的1号0辰更新表的数据某一字段为0
- ORACLE复制问题
- 如何获得oracle的一个库的所有表名
- 用变量年岁=20 检索不到数据时就用3变量年岁=30 来检索
- 在线等待:----帮忙创建一帐视图
- VIO_ADMIN.SYS_LOB0000027183C00004$$无法通过5314958(在表空间VIO_PIC中)扩展ORA-06512: 在"SYS.DBMS_LOB", line 700
- 关于ORACLE高级复制中物化视图类型的选择.
给你个参考程序只要把表名修改下就可以了。
SUM_60_EVENT是原表,symac是要导入的表create or replace procedure pro as
cu sys_refcursor;
symc SUM_60_EVENT%rowtype;
begin
open cu for select * from SUM_60_EVENT;
loop
fetch cu into symc;
exit when cu%notfound;
insert into symac values symc;
if mod(cu%rowcount,50)=0 then
commit;
end if;
end loop;
commit;
end;
2.写个存贮过程:
a.每次一定数量后,进行commit;
b.每次全部删除后可能对其索引rebuild;
3.Job中执行此存贮过程,时间最好按排在服务器较空闲的时间里,如凌晨。
2、update语句怎么写的直接影响你的执行效率
3、一般来说,insert要比update快
4、如果采用insert的方法,那就把数据插入到临时表中
更新之前去掉索引,更新之后重建索引;
效果应该会好很多。