MySQLNotexists一个你不需要会的语法
not exists - 就是字面意思: 不存在. A表里某个字段的值不在B表里; 返回符合条件的A表记录.
如:
select a.id, a.codefrom table_a a
where not exists (
select b.code from table_b b where a.code = b.code
);
-- 注意 where a.code = b.code 将 a, b 表连起来
A表数据量15w+, B表在5w+的时候,这个sql就需要执行5分钟以上,甚至更久. 8,9分钟都有(依赖于系统当时负载). mysql的版本是5.6 or 5.7. 某云RDS,系统配置不清楚,但不会差.
没有单独做过实验,懒.
不知道后续的mysql是否对此做过优化. 懒.
建议优化方式: a, b表取各自的结果集join, 然后where条件过滤
有更好的方式,请留言.
以上是 MySQLNotexists一个你不需要会的语法 的全部内容, 来源链接: utcz.com/z/516899.html