我有2個表(A和B)具有相同的主鍵。我要選擇所有的行有能力的,而不是在B.以下工作:Mysql select不在表中
select * from A where not exists (select * from B where A.pk=B.pk);
但它似乎(在一個只有10萬行和B中3-10k少〜2秒)
相當糟糕有沒有更好的方法來運行它?也許作爲一個左連接?
select * from A left join B on A.x=B.y where B.y is null;
在我的數據上,這似乎運行稍快(〜10%),但一般呢?
你的意思是你在表A中有100k行,在表B中有100k行嗎?或者每個表格只有大約300行,這意味着100,000行掃描(或者希望是索引掃描)。 – ChrisInEdmonton 2008-12-09 20:00:44