首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于SQL语句优化~解决方法

2012-03-21 
关于SQL语句优化~问题描述:背景:在oracle9同一实例下有两个用户User1,User2,并且有一张结构相同的表Tab1。(

关于SQL语句优化~
问题描述:
背景:
在oracle9同一实例下有两个用户User1,User2,并且有一张结构相同的表Tab1。(两个用户都有对方的DBA权限,表中数据量超过10万条记录)
问题:
现在要比较两个数据库中表Tab1的数据,列出差异。我实现的SQL语句如下:(但速度太慢)

SQL code
select *  from (select 'User1' Source, e.* from ( select  *from  User1.T_PB_FLOW_PARA  minus select  *from  User2.T_PB_FLOW_PARA ) E union all select 'User2' Source, f.* from ( select  *from  User2.T_PB_FLOW_PARA minus select  *from  User1.T_PB_FLOW_PARA ) F ) ;

PS:求各位大侠帮忙给优化下,或者说下解决办法,小弟不胜感激

[解决办法]
假设两表ID连接,在ID上有索引
select a.* from a left join b on a.id=b.id where b.id is null
union all
select b.* from b left join a on a.id=b.id where a.id is null
[解决办法]
oracle 就是minus 

热点排行