|
假设a.b表上有ID的索引;
尽量要以B表为驱动表,因为比较小;
交:
select b.id from b
inner join a on a.id=b.id
并:
select b.id from b
left join a on a.id=b.id
where a.id is null
union all
select id from a;
差: a-b
select a.id from a
left join b on a.id=b.id
where b.id is null
如果把交集先找出来去UPDATE一个标志位,再做A表作表扫描,可能会更快一些;A表太大;
差:b-a
select b.id from b
left join a on a.id=b.id
where a.id is null |
|