У меня есть хранимая процедура, которая работает очень медленно. Я пытаюсь понять, касается ли это моего запроса или это какая-то проблема индекса. Вот ключевая часть, которая, как мне кажется, объясняет причину медлительности:
where ([Code] in (select * from dbo.Split(',',@code)))
Есть 1170 значений, разделенных запятыми, которые возвращаются из функции dbo.Split
, а столбец [Code]
происходит из таблицы, состоящей изболее 6 миллионов строк. У меня есть индекс для столбца [Code]
в моей таблице. Запрос выполняется около 10 минут.
Это нормально, что такой медленный результат или его можно улучшить? Спасибо.