小表大概1K条数据,大表在链接服务器上有10亿条数据,想知道如何最快能查询出来交集?内联接,IN,MINUS?

解决方案 »

  1.   


    那就用内连接吧,from B(10亿),A(1K)--(A,B的顺序主要看你的优化器选择的是什么。基于规则的才与顺序有关,否则无关)
      

  2.   


    符合使用exists 的内连接,在里层表里的连接字段上建立索引就可以了
      

  3.   

    楼上说的没错。首先两个表的连接字段都要有索引。
    然后用exists 就可以了。
    比如:
    select * from min_tab a exists (select 1 from max_tab b where a.id = b.id)
    出来的就是符合小表和大表的交易的小表记录