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试下这个方法。。肯定比你的要快
select TCAA.account from TCAA where not exists( select 1 from abc_temp where abc_temp.account=TCAA.account));
select TCAA.account from TCAA minus select account from abc_temp
谁说的?并不是所有的 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 上加上索引就差不多了。
select 1 from abc_temp where abc_temp.account=TCAA.account));
select TCAA.account from TCAA
minus
select account from abc_temp
楼主的这个用 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 上加上索引就差不多了。