加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Postgresql:WHERE IN替代WHERE IN IN

发布时间:2020-12-13 16:08:34 所属栏目:百科 来源:网络整理
导读:我有几个语句访问非常大的 Postgresql表,即: SELECT a.id FROM a WHERE a.id IN ( SELECT b.id FROM b );SELECT a.id FROM a WHERE a.id NOT IN ( SELECT b.id FROM b ); 他们中的一些人甚至以这种方式访问??更多的桌子.如果我切换到连接,那么提高性能的最
我有几个语句访问非常大的 Postgresql表,即:

SELECT a.id FROM a WHERE a.id IN ( SELECT b.id FROM b );
SELECT a.id FROM a WHERE a.id NOT IN ( SELECT b.id FROM b );

他们中的一些人甚至以这种方式访问??更多的桌子.如果我切换到连接,那么提高性能的最佳方法是什么?

非常感谢!

解决方法

JOIN效率会更高,或者您可以使用EXISTS:

SELECT a.id FROM a WHERE EXISTS (SELECT 1 FROM b WHERE b.id = a.id)

子查询最多返回1行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读