Проблема с прослушиванием параметров NHibernate LINQ
У нас проблемы с производительностью из-за перехвата параметров в SQL Server. Наше приложение использует NHibernate с провайдером LINQ.
Я ищу способ добавить, например, "OPTION(RECOMPILE)" в этот определенный запрос SQL. Теперь я могу использовать перехватчики для этого, но я хочу, чтобы он добавлялся только к определенным запросам IQueryable. Так что не на все мои запросы nhibernate, потому что тогда я потеряю преимущества кэширования плана запросов.
Также приветствуются другие варианты для определения параметров в 1 конкретном запросе с помощью NHibernate.
1 ответ
Используйте руководство плана запроса для него, чтобы указать оптимизацию для.
Вот простое пошаговое руководство: http://realsqlguy.com/dont-get-slimed-bad-parameter-sniffing/
Хотя это устраняет проблему на стороне сервера, вам нужно найти запрос, который вызывает проблему, найти правильный план и сгенерировать руководство по плану. Возможно, следующая версия SQL Server решит некоторые проблемы с прослушиванием параметров.