select TCAA.account from TCAA where TCAA.account not in(
select account from abc_temp
)怎么才能提高这句查询语句的速度
TCAA有9万多条记录,abc_temp有8000多条

解决方案 »

  1.   

    select t from( select tcaa.account t,acb_temp.account a from tcaa left join abc_temp on tcaa.account = abc_temp.account) s where a is null试下这个方法。。肯定比你的要快
      

  2.   

    select TCAA.account from TCAA where not exists(
    select 1 from abc_temp where abc_temp.account=TCAA.account));
      

  3.   


    select TCAA.account from TCAA 
    minus
    select account from abc_temp
      

  4.   

     谁说的?并不是所有的 exists 代替 in都快些。
    楼主的这个用 not exists 要快些,像2楼说的SELECT TCAA.ACCOUNT
      FROM TCAA
     WHERE NOT EXISTS
     (SELECT NULL FROM ABC_TEMP B WHERE TCAA.ACCOUNT = B.ACCOUNT)再到 TCAA 表的 account 、ABC_TEMP的account 上加上索引就差不多了。