日期:2014-05-17  浏览次数:20995 次

Oracle 两表根据关联字段筛选数据
Oracle 
查询表A,条件为A.id不在表B.id中,由于两表数据都很多,请问怎么写查询语句效率高?
查询 关联筛选 Oracle

------解决方案--------------------
where exists ()
------解决方案--------------------
把A表和B表的索引以及数据的选择率描述一下,这样才好判断。

存在性判断一般有3种方式:

1、in
2、exists
3、left join

如果数据量不大 1和2效率相当
如果数据量很大 1最慢
如果没有没有索引 建议使用第3种
------解决方案--------------------
引用:
把A表和B表的索引以及数据的选择率描述一下,这样才好判断。

存在性判断一般有3种方式:

1、in
2、exists
3、left join

如果数据量不大 1和2效率相当
如果数据量很大 1最慢
如果没有没有索引 建议使用第3种


都11g时代了,你这种8i时代的观念早就过时了
------解决方案--------------------
引用:
Quote: 引用:

把A表和B表的索引以及数据的选择率描述一下,这样才好判断。

存在性判断一般有3种方式:

1、in
2、exists
3、left join

如果数据量不大 1和2效率相当
如果数据量很大 1最慢
如果没有没有索引 建议使用第3种


都11g时代了,你这种8i时代的观念早就过时了

向这位大牛学习,我落伍了