Разница в производительности при выполнении представления с помощью NHibernate
У меня есть представление SqlServer 2012 с примерно 10 внутренними объединениями, работающими в таблице с>2 миллионами строк.
1 - Выполнение этого представления с NH 4.1 (с использованием Query with Linq) занимает ~20 секунд
2 - Выполнение этого представления с NH 4.1 (используя CreateSQLQuery с sql, сгенерированным запросом выше) занимает ~ 2 секунды
3 - Выполнение этого представления с помощью Sql Manager (с использованием sql, сгенерированного запросом выше) занимает ~ 2 секунды
Любая идея, как тот же SQL (захваченный профилем NHibernate) имеет столь резкое различие в производительности между 1 и 2 (оба используют NHibernate)?
Где clausule от sql, сгенерированного NH:
from myView myView_c0_
where (myView_c0_.Param1 like ('%'+'123456' /* @p0 */+'%')) and
myView_c0_.Data >='2017-04-01T00:00:00' /* @p1 */
order by myView_c0_.Data asc,
myView_c0_.MyProp asc OFFSET 0 /* @p3 */ ROWS FETCH FIRST 11 /* @p4 */ ROWS ONLY