往主键索引表插入上万条数据的效率问题 我有一张表,该表有一个主键,每次都要向该表插入上百万条数据,而且在插入数据之前必须清空表,请问如何做才能更高的提高数据性能,防止空间及其它资源的浪费 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 往主键表(或索引表)中插入上万条数据时的处理方法,可以先删掉索引,往表里面插入数据,再建上主键即可。插入数据量漏较大时时以用/*+append */直接插入到表的最后,可以提高执行效率! Truncate table 表名; //用于清除表中所有记录然后在插入新的记录,建立相关的索引等! Truncate table 表名,用这个清空表会比较快,不过要用动态SQL执行才行,另外可以考虑分批Commit Truncate table 表名,insert 是用并行插入,最后add constraint 主键好像这样速度较快, 首先truncate表,再删掉其主键,往表里面插入数据后,再加上主键,不过这种做法,对于几百万的表而言,可能会存在风险! 分批commit有时会好点,但是有时最后提交与分批提交相差也不是很多,这个得自己实验一下具体多少行commit一次 删除数据的时候可以使用TRUNCATE TABLE,这个命令因为不写日志,所以删除数据的时候很快,插入数据的时候可以先将主键删除,插入数据后再添加主键。 Oracle 如何取得最近新加的数据 关于dts连接oracle服务器问题,急等!!! 在一个表中如何将竖向显示的数据横向显示? 怎样获得PAKCAGE BODY中的函数名呢? 关于oracle表级权限控制的问题 三个select语句 新手问题,请看 求oracle分页存储过程! 有关于oracle中锁的问题,解决问题另外赠送200分 急:有关management server服务无法启动的问题? 对于大数据 执行简单insert into问题! 怎么解决,重复数据合并到结果集的某一条记录中
插入数据量漏较大时时以用/*+append */直接插入到表的最后,可以提高执行效率!
然后在插入新的记录,建立相关的索引等!
另外可以考虑分批Commit
insert 是用并行插入,
最后add constraint 主键
好像这样速度较快,
对于几百万的表而言,可能会存在风险!
插入数据的时候可以先将主键删除,插入数据后再添加主键。