替代NOT IN在MySQL上

我有一个问题

SELECT DISTINCT phoneNum 
FROM `Transaction_Register` 
WHERE phoneNum NOT IN (SELECT phoneNum FROM `Subscription`) 
LIMIT 0 , 1000000

执行b / c需要花费太多时间Transaction_Register表有数百万条记录
有什么替代上述查询我会感激你们,如果有的话.

最佳答案
另一种方法是使用LEFT JOIN:

select distinct t.phoneNum
from Transaction_Register t
left join Subscription s
  on t.phoneNum = s.phoneNum
where s.phoneNum is null
LIMIT 0 , 1000000;

SQL Fiddle with Demo

转载注明原文:替代NOT IN在MySQL上 - 代码日志