我有2个具有相同主键的表(A和B)。我想选择A中而不是B中的所有行。
select * from A where not exists (select * from B where A.pk=B.pk);
但是,这似乎很糟糕(A中只有10万行,而B中只有3-10k的行大约2秒)
有更好的方法来运行此吗?也许是左派?
select * from A left join B on A.x=B.y where B.y is null;
根据我的数据,运行速度似乎稍快(〜10%),但是总体上呢?
我以第二个示例的格式使用查询。联接通常比相关子查询更具可伸缩性。