В SQL Server 2005 у меня есть поиск продукта, который выглядит следующим образом:
select ProductID, Name, Email
from Product
where Name = @Name
Меня попросили проигнорировать пару «специальных» символов в Product.Name, чтобы при поиске «Картошка» возвращались «По-таэ», а также «Картошка». Моя первая мысль - просто сделать это:
select ProductID, Name, Email
from Product
where REPLACE(Name, '-', '') = @Name
... но, подумав, интересно, убиваю ли я производительность, выполняя функцию для КАЖДОГО возможного результата. Есть ли в SQL какая-то магия оптимизации, которая помогает быстро делать подобные вещи? Можете ли вы придумать что-нибудь проще, что я мог бы попробовать с моими требованиями?