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

sql – WHERE x IN(5)vs WHERE x = 5 …为什么要使用IN?

发布时间:2020-12-12 07:44:45 所属栏目:MsSql教程 来源:网络整理
导读:我最近注意到的一些事情是使用IN的人似乎不合适.我觉得我错过了一个技巧 – 也许有速度提升或什么? 这个查询: SELECT * FROM pages WHERE is_visible IN ($visibility) 为什么要用它?为什么不: SELECT * FROM pages WHERE is_visible = $visibility 当然,
我最近注意到的一些事情是使用IN的人似乎不合适.我觉得我错过了一个技巧 – 也许有速度提升或什么?

这个查询:

SELECT * FROM pages WHERE is_visible IN ($visibility)

为什么要用它?为什么不:

SELECT * FROM pages WHERE is_visible = $visibility

当然,如果是这样的话:

SELECT * FROM pages WHERE is_visible 
IN ($visibility,$invisibility,$somethingelse)

那么WHERE x IN(1,2,3)是WHERE x = 1 OR x = 2 OR x = 3的更好的替代品,对吧?但肯定这是你应该使用IN的唯一场景吗?

无论如何,谢谢你的时间 – 我期待你的回复!

解决方法

这里没有提高性能的技巧,但我认为也没有任何性能影响.所以两种方式都可以.我同意你的看法,只使用一个参数的IN子句看起来很有趣,但它仍然很容易遵循.

我认为这可能是因为开发人员认为未来可能允许多个值(这样查询不会被更改).或者可能开发人员习惯于可能存在多个值的场景,他们只是习惯性地编写它.

(编辑:李大同)

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

    推荐文章
      热点阅读