如何最快查询小表中多少数据在大表中有的? 小表大概1K条数据,大表在链接服务器上有10亿条数据,想知道如何最快能查询出来交集?内联接,IN,MINUS? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就用内连接吧,from B(10亿),A(1K)--(A,B的顺序主要看你的优化器选择的是什么。基于规则的才与顺序有关,否则无关) 符合使用exists 的内连接,在里层表里的连接字段上建立索引就可以了 楼上说的没错。首先两个表的连接字段都要有索引。然后用exists 就可以了。比如:select * from min_tab a exists (select 1 from max_tab b where a.id = b.id)出来的就是符合小表和大表的交易的小表记录 oracle text 创建索引报 ora:04030错误! 请推荐几本使用Oracle SQL开发的经典教材 高手来帮我看看这个ORACLE语句怎么写 请高手帮忙 我的Proc*C/C++工具不能编译proc程序,不知道是怎么一会事 建表的语法问题,请关注! ORACEL 10g 如何权限设置? 高分求教Oracle8i用户权限问题,急急急!!! 如何在数据集增加一字段,字段中数据值是表明数据记录所在的行数! 用sqlplus怎么进不了??救命! order by 引起的查询速度变慢 4 倍,如何解决 求一SQL语句 ORACLE--EXP导出时提示异常
那就用内连接吧,from B(10亿),A(1K)--(A,B的顺序主要看你的优化器选择的是什么。基于规则的才与顺序有关,否则无关)
符合使用exists 的内连接,在里层表里的连接字段上建立索引就可以了
然后用exists 就可以了。
比如:
select * from min_tab a exists (select 1 from max_tab b where a.id = b.id)
出来的就是符合小表和大表的交易的小表记录