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

如何优化/重构TSQL的``IKE''子句?

严正初
2023-03-14
问题内容

我有一个包含117000左右记录的表。我需要执行一个搜索,检查给定字符串模式的3个单独字段。

我的where子句如下:

field1 LIKE '%' + @DESC + '%'
OR field2 LIKE '%' + @DESC + '%'
OR field3 LIKE '%' + @DESC + '%'

无论输入什么,这似乎都需要大约24秒的时间…

有一个更好的方法吗?少于10(或5!)秒将是更可取的。

谢谢你的帮助。


问题答案:

使用全文搜索和CONTAINS。在字段中间进行搜索时,无法优化LIKE。当LIKE表达式以’%’开头时,它将始终进行全表扫描。



 类似资料:
  • 翻到祖师爷代码,发现树结构的数据是后端通过递归去生成的,效率非常低,请问有什么方法可以优化吗?

  • 问题内容: 我想用SQL查询来查询一些东西: 如何在MongoDB中实现相同目标?我在文档中找不到运算符。 问题答案: 那必须是: 或类似: 您正在寻找某种在某处包含“ m”的东西(SQL的’ ‘运算符等效于Regexp的’ ‘),而不是在字符串的开头锚定了“ m”的事物。 注意: mongodb使用的正则表达式比sql中的“ LIKE”更强大。使用正则表达式,您可以创建您想像的任何模式。 有关正

  • 问题内容: 我试图弄清楚如何在Server 2008r2上查询重新入职。这是访问表的基本结构。还有其他领域,但我认为没有任何帮助。一个问题是,其中一些可能是转移而不是排放,我没有简单的方法可以推断出来,但是现在这个问题可以忽略不计。我尝试了一下,但是我想我对SQL的理解需要更多的工作。我试图找到我可以在线上找到的任何信息,但是没有一个查询使我得出一个有用的结论,或者我只是不明白。任何建议,将不胜感

  • 如何清理linux不需要的软件包

  • 我试图更全面地了解动态规划中最优子结构属性的使用,但我对为什么我们必须证明问题的任何最优解都包含子问题的最优解视而不见。 难道仅仅证明问题的某些最优解决方案具有这个属性,然后用它来论证由于我们的递归算法构建的解决方案至少与最优解决方案一样好,它本身将是最优的,这还不够吗?换句话说,我未能发现在我们的算法的正确性参数中,我们需要所有最优解都包含子问题的最优解。 要澄清: 最佳子结构的CLRS定义说,

  • 由于我正在使用的网站的随机加载时间,我必须等待某些html元素出现才能使用它们。我利用了时间。用于测试目的的sleep命令,但现在要优化所有内容。我尝试过各种来自网络的明确的等待建议,但它们在某个点上都发生了冲突。 下面是一个代码示例: 提前谢谢各位!