Демонстрационный запрос:
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
Это выполняется в меньше, чем секунда.
Мой table2 имеет записи 140K и table1 некоторый 250K
Какая-либо идея, что могло вызывать как оператор для отставания?