Пример запроса:
CREATE PROCEDURE dbo.Test (@p varchar(10))
AS
DECLARE @param varchar(10)
SET @param = @p + '%'
SELECT * FROM table1 t1
INNER JOIN table2 t2 on t1.id = tr.id
WHERE t2.desc LIKE @param
У меня есть запрос, аналогичный приведенному выше, и когда я использую его в хранимой процедуре, он выполняется неопределенно долго, без каких-либо выходных данных.Но если я использую тот же запрос, что и
SELECT * FROM table1 t1
INNER JOIN table2 t2 on t1.id = tr.id
WHERE t2.desc LIKE 'A%' -- notice no parameter here
Это выполняется менее чем за секунду.
Моя таблица2 содержит 140 тыс. Записей, а table1 - около 250 тыс.
Любая идея, что можетбыть причиной того, что оператор работает медленно?