当前位置: 首页 > 面试题库 >

SQL where field vs.where field =具有多个ors?

林俊英
2023-03-14
问题内容

在性能方面,哪个更适合使用?…关于可读性/可理解性?…关于公认的标准?

SELECT *
FROM Wherever
WHERE Greeting IN ('hello', 'hi', 'hey')

或者

SELECT *
FROM Wherever
WHERE Greeting = 'hello' 
   OR Greeting = 'hi'
   OR Greeting = 'hey'

第一个对我来说似乎更直观/更清晰,但是我不确定接受的标准和性能。


问题答案:

它具有更高的可读性和更广泛的接受性:

SELECT *
FROM Wherever
WHERE Greeting in ('hello', 'hi', 'hey')

所有现代SQL服务器都会优化您的查询,因此它们都可能都被更改为服务器上运行的相同代码,因此性能差异可以忽略不计或根本不存在。

编辑:

显然,该in选项速度更快,因为它评估为二进制查找,而倍数则=只是分别撤回每个语句。



 类似资料:
  • 我想在laravel中创建一个RBAC系统,其中一个用户可以属于多个角色,每个角色可以有多个权限。中间件应在继续请求之前检查用户是否具有特定权限(在其任何角色内)。 我能够实施一个案例,其中 用户属于一个具有多个权限的角色 我需要实现具有多个权限的多个角色的用户。有什么指点吗?

  • 问题内容: 我在这里遇到一种情况,试图充当两个API之间的网关。我需要做的是: 向APIa提出请求; 将XML响应解析(编组)为java对象; 对其进行很少的更改; 然后以XML(解组)形式向另一端(APIb)做出响应。 事实是,我使用同一对象来解析API响应并将响应发送到另一端。 正如评论所说:我收到但我需要发送 有没有一种方法可以完成此操作而不必创建另一个带有ResultCode的额外类? 提

  • 问题内容: 我想在Java中实现具有多个值的哈希表,即 并且将返回2倍的值。 我怎样才能做到这一点? 问题答案: 您可以改用Multimap。它在列表中为一个键保留多个值。在commons- collection 和Guava中有实现。 这类似于使用值是列表的Hashmap,但是不必显式创建列表。 自己动手做的同一示例如下所示: 请注意,您可以将Multimap用作构建器,并对其调用asMap以返

  • 问题内容: 我需要一种简单的方法来实现JScrollPane,在其中我可以添加JTextAreas。正如您在youtube和Stackoverflow上看到的那样,这应该像评论系统一样工作。 它应该在Java代码中,如果有的话,我想知道它。 我的评论对象包含: 我将评论保存在数据库中,可以轻松启动它们。问题是显示部分。 谢谢您的帮助 问题答案: 你必须承认,有可能把只有一个JComponent中的

  • 问题内容: 在Django中,我将SESSION_COOKIE_DOMAIN设置为我的域名。但是我实际上想使用两个不同的域名来运行同一站点。 在设置了SESSION_COOKIE_DOMAIN的情况下,只有命名域才允许用户登录。是否可以同时允许两个域登录? 问题答案: 如果你将会话cookie域设置为以“。”开头。字符,它将使你能够处理通配符子域并在多个子域之间共享会话cookie(登录会话)。

  • 我尝试使用thajaxb来整理xml,我使用xjc命令从xsd文件order.xsd生成java类 我得到了许多带注释的类,但没有一个@XmlRootElement(name="Order"),也没有名为Order的类

  • 我们刚刚开始在Spring Boot应用程序中使用JaVers。此应用程序作为两个EntityManagerFactory bean: 有没有办法告诉沙弗斯只关心@初级工厂? 谢了! 戴夫

  • 我继承了一个项目,它有一些CRUD形式...在创建表单中,我们需要创建一个和关系的条目。所以基本上我得到的是以下这些 我不确定这是否是最好的方法,但似乎有效。 我遇到的问题是,在表单中,这些参与者/评论可以编辑、添加或删除,我不确定如何更新它们。是否可以更新它们,或者删除现有关系数据并重新添加它们是否更好? 我从来没有更新过关系,只是添加了它们,所以我不确定如何开始。 任何帮助都将不胜感激。