Współpracuję z bazą danych PostgreSQL z NHibernate.NHibernate nie wydaje się masowego wstawiania do PostgreSQL
Tło
Zrobiłem kilka prostych testów ... wydaje się, że zabiera 2 sekundy, aby utrzymywać 300 rekordów. Mam program Perl z identyczną funkcjonalnością, ale zamiast tego wydaje się bezpośredni SQL, zajmuje tylko 70% czasu. Nie jestem pewien, czy jest to oczekiwane. Myślałem, że C#/NHibernate będzie szybszy lub przynajmniej na równi.
Pytania
Jeden z moich obserwacji wynika, że (z show_sql
włączone), The NHibernate jest wydawanie wstawia kilkaset razy, zamiast robić luzem INSERT że podjęcie troski wielu rzędach. I proszę, sam przypisuję klucz podstawowy, nie używając "natywnego" generatora.
Czy to jest oczekiwane? Czy mimo to mógłbym zamiast tego wydać polecenie INSERT bulk? Wydaje mi się, że może to być jeden z obszarów, w którym mogę przyspieszyć występ.
Jeśli możesz przekonać nhibernate do użycia 'copy from' zamiast' insert', które najprawdopodobniej będzie działało o rząd wielkości szybciej. Być może właśnie to robi program perl. –