我想知道下面两个查询之间是否有任何性能差异。类似WHERE子句的性能比较
查询1:
Select
personName
From tbl
Where personName = 'Asif'
QUERY2:
Select
personName
From tbl
Where personName = 'Muhammad Asif'
的PERSONNAME字段不是在索引。 我只是想知道,当我们搜索一个有空格的字符串时,sql引擎需要更多的努力/时间来执行查询,或者它的行为与没有空格相同。
矮个子:
- 如果字符串就像一个没有空间,但短期像阿西夫或字母Q1234
- 如果字符串包含像“穆罕默德阿西夫”
- 如果字符串包含空格,并且其位位长的很像“我的名字是'
sql engine对这些搜索条件会有什么影响?
当你分析每一个时会发生什么?为什么空间会很重要?除了作为字符串中的附加字符之外,它们没有特别的意义。对于你想要搜索的字段进行适当的索引将比字符串大小对你的性能产生更积极的影响。 –
您应该在ms sql server中打开两个查询,然后在两者上执行显示预计执行计划,然后比较估计的I/O,CPU和操作员成本,以更好地了解发生的情况。这可以用于任何SQL查询。数据库访问路径是特定于每个特定数据库的。也就是说,这两个查询之间唯一不同的是被查询字符串的长度,这很可能不会给你两者之间的性能差异。 –
我不会打扰估计。你从实际获得更多信息。 –