怎么实时的删除重复的纪录
有一个程序,一直在插入数据, 
 程序插入的数据有重复的,程序不是我们做的所以不能修改 
 现在想实时的删除重复的数据,数据量很大的,现在已经30万数据 
 每天还要插入2000条,以后还会更多。 
 5分钟删除一次也可以, 
 这个要怎么做, 
 编写触发器,每条纪录进行检索,查询相同的么,这个好像效率太低了 
 有没有好的办法
------解决方案--------------------触发器不合适,还是定时删比较好
------解决方案--------------------将重复字段建立唯一索引么,这样重复的就插入不了了,也不用定期删除了。
------解决方案--------------------只能用触发器处理 
 建议用触发器把不同的记录插到另一个表。然后你们就用那个新表了。
------解决方案--------------------如果同时要插入大量数据,用触发器效率不高吧? 
 定时删除的话,你建一个JOB就行了啊。给一个每天定时执行多次JOB的例子, 
 例如每天中午12:00,下午5:30执行:(作者: oldwain,  出处:oldwain 's Blog) 
 job每半小时执行一次调用外层procedure, 由外层procedure判断时间决定是否执行原来的procedure.   
  < <>    
 begin 
 dbms_job.submit(job =>  :job, 
 what =>   'pshell; ', 
 next_date =>  sysdate, 
 interval =>   'sysdate+30/60/24 '; 
 commit; 
 end; 
 create procedure pshell as  
 begin 
 if to_char(sysdate,  'hh24:mi ") >   '12:00 ' and to_char(sysdate,  'hh24:mi ")  <  '12:30 ' then 
 p; 
 end if; 
 if to_char(sysdate,  'hh24:mi ") >   '17:30 ' and to_char(sysdate,  'hh24:mi ")  <  '18:00 ' then 
 p; 
 end if; 
 end; 
 --就是做两个过程,一个用来判断时间,一个执行需求。
------解决方案--------------------我觉得用作业很好.
------解决方案--------------------我觉得那不是办法,可以对插入的表建触发器,不让插入重复的数据,从而避免删除重复数据的操作。
------解决方案--------------------不建议使用job或者trigger,性能都比较底下,最好的办法还是使用数据完整性校验 (如PK, constraints等).