Что быстрее запрос ... где Fname = 'mark' или ... где Fname как 'mark' - PullRequest
0 голосов
/ 08 августа 2009

Что быстрее запрос, выберите ... где Fname = 'mark' или выберите ... где Fname как 'mark'

благодарственное в

Ответы [ 2 ]

1 голос
/ 08 августа 2009

В данном конкретном случае они, скорее всего, будут одинаковыми, поскольку в LIKE нет подстановочных знаков Оптимизатор обнаруживает, что он тривиален и в любом случае делает его равным.

Как правило, "=" будет быстрее, чем "LIKE".

Простой пример

--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'
0 голосов
/ 08 августа 2009

Я полагаю, что запрос на равенство в целом выполняется намного быстрее.

Этот поток Производительность SQL Server перечисляет операнды в порядке производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...