Проблема с анализом параметров NHibernate LINQ

У нас проблемы с производительностью из-за прослушивания параметров в SQL Server. Наше приложение использует NHibernate с провайдером LINQ.

Я ищу способ добавить, например, «OPTION (RECOMPILE)» к этому определенному SQL-запросу. Теперь я могу использовать для этого перехватчики, но я хочу, чтобы они добавлялись только к определенным запросам IQueryable. Так что не для всех моих запросов nhibernate, потому что тогда я потерял бы преимущества кэширования плана запроса.

Также приветствуются другие варианты решения проблемы перехвата параметров в одном конкретном запросе с помощью NHibernate.


person Dommicentl    schedule 17.09.2015    source источник
comment
codewrecks.com/blog/index.php/2011/07/23/   -  person Lukasz Szozda    schedule 17.09.2015
comment
Мы уже наткнулись на эту ссылку, но она использует реализацию, зависящую от интерфейса IQuery, а мы используем IQueryables. У меня сейчас нет способа добавить комментарий к SQL-запросу через IQueryables.   -  person Dommicentl    schedule 17.09.2015


Ответы (1)


Используйте руководство по плану запроса, чтобы указать для него оптимизацию.

Вот основное пошаговое руководство: http://realsqlguy.com/dont-get-slimed-bad-parameter-sniffing/

Хотя это устраняет проблему на стороне сервера, вам нужно будет найти запрос, вызывающий проблему, найти правильный план и создать для него руководство по плану. Возможно, следующая версия SQL Server решит некоторые проблемы прослушивания параметров.

person Robert McKee    schedule 17.09.2015