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

SQL效率-[=] vs [in] vs [like] vs [matches]

赵雅懿
2023-03-14
问题内容

出于好奇,我想知道在使用[ =] vs [ in] vs [ like] vs [
matches](仅1个值)语法时,是否存在速度/效率差异?

select field from table where field = value;

相对

select field from table where field in (value);

相对

select field from table where field like value;

相对

select field from table where field matches value;

问题答案:

我将添加到 还存在subquery

但是性能取决于给定SQL引擎的优化器。

在oracle中,IN和EXISTS之间有很多区别,但在SQL Server中不一定。

您还需要考虑的另一件事是所用色谱柱的选择性。一些情况表明,IN更好。

但是您必须记住, IN不可扩展的 (不支持搜索参数),因此它将不使用索引来解析查询, LIKE= 是可
扩展的, 并支持索引

最好的 ?您应该花一些时间在您的环境中对其进行测试



 类似资料:
  • 问题内容: 使用SQL时,在子句中使用而不是有什么好处? 没有任何特殊的运营商,并且是相同的,对不对? 问题答案: 并且是不同的运算符。这里的大多数答案都集中在通配符支持上,这不是这些运算符之间的唯一区别! 是对数字和字符串进行运算的比较运算符。比较字符串时,比较运算符将比较 整个字符串 。 是一个字符串运算符,它 逐个字符地 比较。 使事情复杂化的是,两个运算符都使用排序规则,该排序规则可能对比

  • 问题内容: 在某些情况下,使用JOIN或IN将为我提供正确的结果…哪一种通常具有更好的性能,为什么?它在多大程度上取决于您正在运行的数据库服务器?(仅供参考,我正在使用MSSQL) 问题答案: 一般来说,和是可以产生不同结果的不同查询。 与…不同 ,除非是唯一的。 但是,这是第一个查询的同义词: 如果联接列被标记为,则这两个查询将在中产生相同的计划。 如果不是,则比on快。 有关性能的详细信息,请

  • 问题内容: 使用for()循环与.forEach的Javascript当前标准是什么? 我目前的工作我的方式,通过柯尔特史蒂尔斯的“Web开发训练营”在Udemy他热衷在他的教导。但是,作为课程工作的一部分,我在练习中搜索了各种东西,并且我发现越来越多的建议使用-loop而不是。大多数人似乎都说for循环更有效。 这是自编写本课程以来(大约2015年)以来发生的变化,还是它们各自的真​​正优缺点,

  • 问题内容: 我是JTA的新手,它是基础事务管理器。谁能解释这些优点/缺点?随时添加我未在标题中列出的其他人。 而且,主要的应用程序服务器(WebSphere,JBoss,Glassfish)是否没有自己的符合JTA的事务管理器?在那些环境中,您是否仍将使用这些第三方实现? 问题答案: 我是JTA的新手,它是基础事务管理器。谁能解释这些优点/缺点?随时添加我未在标题中列出的其他人。 我知道的独立事务

  • 问题内容: 您是否认为for … in和for循环有很大的不同?您更喜欢使用哪种“用于”,为什么? 假设我们有一个关联数组的数组: 这样我们就可以迭代: 和: 我没什么大不同。有性能问题吗? 问题答案: 该选择应基于对哪种习语最了解。 使用以下方法迭代数组: 使用以下方法来迭代用作关联数组的对象: 除非您有惊天动地的理由,否则请遵循既定的使用模式。

  • 前言 Emmet可以极大的提高 html 和 css 的编写效率,它提供了一种非常简练的语法规则。 举个例子,我们在编辑器中输入缩写代码:ul>li*6 ,然后按下 Tab 键,即可得到如下代码片段: <ul> <li></li> <li></li> <li></li> <li></li> <li></li>