首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL引擎会优化这个查询吗?

PostgreSQL引擎会优化这个查询吗?
EN

Stack Overflow用户
提问于 2022-06-01 10:47:19
回答 1查看 34关注 0票数 1

我有两个类似的问题:

代码语言:javascript
复制
SELECT ... FROM ... WHERE (status IN (1,2,3) OR status IN (3,4,5)) AND ... AND status IN (2,3)

而这个:

代码语言:javascript
复制
SELECT ... FROM ... WHERE ... AND status IN (2,3)

这些查询几乎是在同一时间执行的,这使我认为SQL引擎优化了第一个查询,并使一些类似于第二个示例。

我是对还是错?手动优化第一个查询到第二个查询是否有好处,或者我可以依赖SQL引擎?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 10:55:32

只要您的PostgreSQL子句中的项是常量,那么IN()在这里做的事情可能是正确的。

要验证这一点,可以运行两个以解释分析为前缀的查询,并检查执行计划。完全理解执行计划需要一些工作。但是PostgreSQL可能会将所有这些IN()子句简化为一个查找谓词。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72460527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档