往主键索引表插入上万条数据的效率问题 我有一张表,该表有一个主键,每次都要向该表插入上百万条数据,而且在插入数据之前必须清空表,请问如何做才能更高的提高数据性能,防止空间及其它资源的浪费 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 往主键表(或索引表)中插入上万条数据时的处理方法,可以先删掉索引,往表里面插入数据,再建上主键即可。插入数据量漏较大时时以用/*+append */直接插入到表的最后,可以提高执行效率! Truncate table 表名; //用于清除表中所有记录然后在插入新的记录,建立相关的索引等! Truncate table 表名,用这个清空表会比较快,不过要用动态SQL执行才行,另外可以考虑分批Commit Truncate table 表名,insert 是用并行插入,最后add constraint 主键好像这样速度较快, 首先truncate表,再删掉其主键,往表里面插入数据后,再加上主键,不过这种做法,对于几百万的表而言,可能会存在风险! 分批commit有时会好点,但是有时最后提交与分批提交相差也不是很多,这个得自己实验一下具体多少行commit一次 删除数据的时候可以使用TRUNCATE TABLE,这个命令因为不写日志,所以删除数据的时候很快,插入数据的时候可以先将主键删除,插入数据后再添加主键。 急,一个连网问题! 急急急求!!!!windows下oracle远程访问Mysql的问题 那位大侠会用pl/sql develop,请问怎样让查询出来的结果显示在一行上呢? SQL 语句问题 单条消息及群发消息表结构设计改善 PL/SQL跳出的错误 高分-请高手指点:如何动态检测远程数据库是否连接问题(急!急!急!) 创建表空间时报空间不足 请问index存放在哪个表中? 请问在oracle中如何写这个存储过程 对于大数据 执行简单insert into问题! 怎么解决,重复数据合并到结果集的某一条记录中
插入数据量漏较大时时以用/*+append */直接插入到表的最后,可以提高执行效率!
然后在插入新的记录,建立相关的索引等!
另外可以考虑分批Commit
insert 是用并行插入,
最后add constraint 主键
好像这样速度较快,
对于几百万的表而言,可能会存在风险!
插入数据的时候可以先将主键删除,插入数据后再添加主键。