Когда NHibernate вызывает Sql: BatchStarting / Sql: BatchCompleted - PullRequest
2 голосов
/ 15 декабря 2009

Я заметил, что некоторые запросы, созданные NHibernate, выполняются как пакеты, а другие нет. Когда я профилирую свою базу данных с помощью Sql Server Profiler, тип события для этих запросов отображается как «SQL: BatchStarting», за которым следует «SQL: BatchCompleted», а не просто RPC: Completed.

Есть ли причина, по которой некоторые операторы запускаются как пакеты, а некоторые нет?

Как NHibernate решает, какие запросы должны выполняться как пакеты?

Кажется, он выполняет много отдельных запросов в пакетном режиме - с чего бы это?

1 Ответ

2 голосов
/ 15 декабря 2009

Когда при вставке нескольких элементов одного типа nhibernate будет делать это в пакетах, определяемых параметром размера пакета, на самом деле это может быть трудно обнаружить в SQL Profiler, поскольку они выглядят как отдельные вызовы RPC, но фактически отправляются в Сервер за один звонок.

Лучший способ узнать, что идет в пакет, - это использовать NHProf.

Вот пост блога, который описывает больше о пакетировании в NHibernate и как профилировать то, что происходит: http://www.codinginstinct.com/2009/08/profiling-nhibernate-batching.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...