gpt4 book ai didi

postgresql - Postgres Performance : WHERE = Versus WHERE IN (. ..) 对于单个值

转载 作者:行者123 更新时间:2023-11-29 12:35:45 24 4
gpt4 key购买 nike

<分区>

我正在开发一个使用 Postgres 作为其支持数据库的应用程序。我正在开发一个执行 SELECT 的组件在 DB 上查询,使用 UI 上的多选输入控件为查询提供输入值。以前,此输入控件是传统的选择 控件,因此一次只能指定一个选项。这意味着 SQL 查询看起来像这样:

SELECT * FROM items WHERE code = 'value1';

执行多选后,SQL 查询看起来像这样:

SELECT * FROM items WHERE code IN ('value1', 'value2', 'value3');

但是,我有一个问题,关于用户何时只在多选中指定一个值。这意味着在括号内只指定一个值:

SELECT * FROM items WHERE code IN ('value1');

我认识到这个查询在语义上与使用 WHERE ... = ... 的查询相同.我的问题是两者之间是否存在显着的性能差异。我考虑过添加选择是否替换 WHERE ... IN (...) 的应用程序逻辑声明及其 WHERE ... = ...如果只指定一个值,对应的是什么?这个优化有必要吗?事实上,如果两种情况下的性能确实相同,那么为什么还要使用 WHERE ... = ... 呢?什么时候WHERE ... IN (...)更灵活?我是不是太担心微优化了?

谢谢。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com