这个问题 围绕着我想知道的问题,但答案并没有完全解决它.
看起来通常使用通配符时'='比'喜欢'更快.这似乎是传统智慧.但是,假设我有一个包含有限数量的不同固定,硬编码,varchar标识符的列,并且我想选择与其中一个匹配的所有行:
select * from table where value like 'abc%'
Run Code Online (Sandbox Code Playgroud)
和
select * from table where value = 'abcdefghijklmn'
Run Code Online (Sandbox Code Playgroud)
'like'应该只需要测试前三个字符以找到匹配,而'='必须比较整个字符串.在这种情况下,在我看来,"喜欢"会有优势,所有其他条件都相同.
这是一个普遍的学术问题,所以无论哪个DB都无关紧要,但它使用的是SQL Server 2005.