2个百万行级别的表,如何在mysql中比对

在mysql中,有a、b两表,字段相同,但内容有差异,且两表都达200万行之多,通过下列命令,:

select a.id from a left join b on a.id=b.id where b.id is null;

比对a表有id、b表没有时,运行几分钟后报"lost connection during query",也按度娘的各种建议做过优化,还是无解,求大师指点。

3个回答

a和b的id有没有建立索引

给查询字段建立索引,然后查询条件中的b.id is null这个最好不要用null来做

qq_36464698
小七专属 回复zerovpp: 因为null容易失去索引功效,用空字符串吧,这样所有索引都有效
3 年多之前 回复
zerovpp
zerovpp 如果不用null,那用什么好呢?
3 年多之前 回复

200多万行数据不建议一次搞。建议每次比较一部分。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐