Убедитесь, что ваше соединение не входит с arithabort off
. В SSMS он включен
Вы можете легко проверить, как это
select arithabort,*
from sys.dm_exec_sessions
where is_user_process =1
просто найдите SPID, который попадает в БД
Вы также пытаетесь увидеть, что происходит, когда вы делаете это в SSMS
SET ARITHABORT OFF
select * from dbo.SearchArchiveFTS('query')
Теперь это занимает намного больше времени?
Также возможно, что вы получаете плохой план от LINQ
Вы можете очистить кэш процедур и буферы памяти, выполнив следующую команду
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
Просто имейте в виду, что он уничтожит все планы на сервере, и SQL Server придется заново создать их, а также снова прочитать все данные с диска .......