NHibernate HiLo Intervention - PullRequest
       0

NHibernate HiLo Intervention

0 голосов
/ 09 июня 2010

У нас есть приложение для одного сервера / базы данных, которое использует NHibernate и Castle ActiveRecord, за ним стоит SQL Server.

В рамках обработки мне нужно написать до 1,2 миллиона строк данных. Использование ActiveRecord и NHibernate очень медленно и нуждается в улучшении - это можно легко сделать с помощью «вставки в ... select .. from ..», вероятно, в хранимом процессе.

Что меня сдерживает, так это генерация удостоверений личности. Мы используем поколение HiLo. Если я напишу сохраненный процесс, чтобы сделать то, что мне нужно, я смогу получить следующий номер для использования из таблицы базы данных, выполнить вставку, а затем обновить таблицу. Проблема в том, что я не знаю:

Какие числа NHibernate в настоящее время кэшируется Какие другие операции NHibernate делает

Лучшее, что я могу сделать (я думаю) - попросить NHibernate обновить свои кэшированные номера, когда я вернусь из сохраненного процесса, или вернуть последний использованный идентификатор из сохраненного процесса и обновить кэш HiLo, но я не могу найдите любые ссылки на это.

Есть идеи?

1 Ответ

1 голос
/ 09 июня 2010

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

http://davybrion.com/blog/2008/10/bulk-data-operations-with-nhibernates-stateless-sessions/

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