0

我想知道以下 2 个查询之间是否存在任何性能差异。

查询一:

Select
         personName
From tbl
Where personName = 'Asif'

查询2:

Select
         personName
From tbl
Where personName = 'Muhammad Asif'

PersonName 字段不在索引上。我只是想知道,当我们搜索有空格的字符串时,sql 引擎需要更多的精力/时间来执行查询,否则它的行为与没有空格的相同。

矮个子:

  1. 如果字符串像没有空格但像 Asif 或字母数字 Q1234 一样短
  2. 如果字符串包含空格,例如 'Muhammad Asif'
  3. 如果字符串包含空格并且它有点长,例如“我的名字是可汗”

sql引擎对这些搜索条件会有什么影响?

4

1 回答 1

0

如果您正在寻找 Muhammad Asif,您的第一个查询将不会返回该记录。如果在 where 子句中使用 equal ,它只会返回完全匹配。

如果您要查找包含名称“asif”的记录,您可以使用

WHERE personName LIKE '%Asif%' 这将返回 Asif 和 Muhammad Asif 以及包含 Asif 的任何其他记录。然而,LIKE 是一个相当耗费资源的查询

于 2012-06-06T20:11:08.050 回答