这个问题 绕着我想知道的地方,但是答案并没有完全解决。
使用通配符时,通常看起来'='比'like'更快。这似乎是传统观念。但是,假设我有一列包含有限数量的不同固定,硬编码,varchar标识符,并且我想选择与其中之一匹配的所有行:
select * from table where value like 'abc%'
和
select * from table where value = 'abcdefghijklmn'
“赞”只需要测试前三个字符即可找到匹配项,而“ =”必须比较整个字符串。在这种情况下,在所有其他条件相同的情况下,“喜欢”似乎会占优势。
这是一个一般性的学术问题,因此与哪个数据库无关,但它是使用SQL Server 2005产生的。
value
索引。如果是的话,那么这=
是一个简单的查找,不需要进行表扫描,并且可以消除LIKE
您对它的任何声明。