Я взаимодействую с базой данных PostgreSQL с помощью NHibernate.
Общие сведения
Я провел несколько простых тестов ... кажется, что требуется 2 секунды, чтобы сохранить 300 записей. У меня есть программа на Perl с идентичной функциональностью, но вместо этого выполнение прямого SQL занимает всего 70% времени. Я не уверен, ожидается ли это. Я думал, что C # / NHibernate будет быстрее или, по крайней мере, не хуже.
Вопросы
Одно из моих наблюдений состоит в том, что (с включенным show_sql
) NHibernate выдает INSERT несколько сотен раз, вместо того, чтобы выполнять массовую INSERT, которая заботится о нескольких строках. И обратите внимание, что я назначаю первичный ключ сам, а не использую «родной» генератор.
Ожидается ли это? Могу ли я заставить его вместо этого выдавать массовую инструкцию INSERT? Мне кажется, что это одна из областей, в которых я мог бы ускорить работу.