ITPub博客

首页 > 数据库 > Oracle > 同步一个表可能重复的数据到历史表

同步一个表可能重复的数据到历史表

原创 Oracle 作者:gss99999 时间:2007-06-19 14:48:30 0 删除 编辑

两个思路,效率差别很大.同是2万条记录.

1.用not in语句,耗时120s.

2.用oracle9i添加的minus语句,耗时7s.

[@more@]

1.用not in 语句

insert into emp_table_his
select * from emp_table

where emp_no||nvl(emp_name,)||nvl(emp_salary,0) not in

( select emp_no||nvl(emp_name,)||nvl(emp_salary,0)

from emp_table_his)

emp_name,emp_salary考虑到可能为空的情况,emp_no为主键,不能为空.

2.用minus语句

insert into emp_table_his
(select emp_no,nvl(emp_name,),nvl(emp_salary,0) from emp_table
minus
select emp_no,nvl(emp_name,),nvl(emp_salary,0) from emp_table_his
)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/62484/viewspace-919367/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    14
  • 访问量
    41505