2009-08-07 4 views

Répondre

0

Je crois que la question de l'égalité, en général, est beaucoup plus rapide.

Cette SQL Server Performance thread répertorie les opérandes par ordre de performance.

1

Dans ce cas particulier, ils seront probablement les mêmes car LIKE n'a pas de caractères génériques. L'optimiseur détecte que c'est trivial et le rend égal de toute façon.

Généralement, "=" sera plus rapide que "LIKE".

Un exemple simple

--Different plans because name has index. 
--uses bookmark lookup but 40% of batch 
SELECT * FROM sys.columns WHERE name = 'offset' 
--uses clustered index scan 60% of batch 
SELECT * FROM sys.columns WHERE name LIKE 'offset' 
GO 



--same plan, 50% each of batch 
SELECT * FROM sys.server_permissions WHERE class_desc = 'ENDPOINT' 
SELECT * FROM sys.server_permissions WHERE class_desc LIKE 'ENDPOINT' 
Questions connexes