У меня есть база данных, содержащая адреса, по одному адресу на строку. Содержит каждый адрес в Великобритании, поэтому ~ 28 миллионов строк. Один из столбцов - «Улица», который я использую для выполнения поиска. В этом столбце есть неидеальный, некластеризованный индекс.TSQL Поиск большой индексированной базы данных с использованием LIKE
Однако у меня есть несоответствия со скоростью поиска.
select * from Postcodes where Street = 'London Road'
Принимает ~ 1 с.
select * from Postcodes where Street like'London Road%'
Также занимает около секунды.
declare @Street varchar(20) = 'London Road%'
select * from Postcodes where Street like @Street
Однако это утверждение, хотя и идентично второму, занимает около 40 секунд для запуска.
Я полностью потерял причину этой разницы в скорости. Есть идеи?
Что тип данных Улица пожалуйста? – gbn