首页 > 代码库 > 数据库优化技巧之in和not in
数据库优化技巧之in和not in
在编写SQL语句时,如果要实现一张表有而另外一张表没有的数据时, 通常第一直觉的写法是:
select * from table1 where table1.id not in(select id from table2)
这种写法虽然看起来很直观,但是执行的效率会非常低下,在数据量很大的时候效果尤其明显,我们推荐使用not exists或左连接来代替。
select a.* from table1 a left join table2 b on a.id=b.id where b.id is null
同样,这种方法也适用于in
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。