一个表有600万数据,insert 一批 大量的重复的数据,是不是会有性能问题?

解决方案 »

  1.   

    回复楼上,就是一个表本来有600万条数据;然后执行一批sql,这批sql的数据实际上在原有的表中已经有了,再执行全部都是唯一性的重复数据错误;
    这样会不会影响oracle数据的性能?
      

  2.   

    这说明表中的某个字段有唯一性的限制,当插入重复值时,违反了表的约束条件,就会报错了。因为数据库报错了,数据当然就不会插入成功,更不会影响oracle数据的性能。
      

  3.   

    作为一个完整的事务单位会被rollback,不会影响数据的完整性
    至于性能方面,事务进行时会有影响,可在业务不忙时进行
      

  4.   

    5分钟2500W数据 一天造了25亿 批量插入   forall
      

  5.   

    constraint不违反的那部分影响性能会占用大量UNDO表空间,也会占用temp,constraint违反的那部分,只是进行了语法分析和语义分析,其余步骤所造成的影响可以忽略
      

  6.   

    会有影响,数据库会判断。但写硬盘基本没有,所以估计也就吃一点内存,cpu(队列)
      

  7.   

    高手们 加个qq可以不 我存储过程 和 视图都不太好 大家帮个忙咯我qq980827202
      

  8.   

    建议楼主还是把重复数据筛选掉再插入进去,因为很有可能你的sql里面只包含部分主键重复,而这些记录都是在后面,这样的你的sql在插入的过程,如果量大的话,开始可能不会直接提醒重复键,等执行了一段时间才有提醒。这样做白白浪费一些资源。插入数据的过程主要看主表上索引多不多,如果多的话,在大量数据插入过程还需要更新对应的索引值,所以肯定会对性能有影响的。
      

  9.   

    写个存储过程,赞同楼上说的用merge into 来做