[MSSQL] Przyśpieszenie Insert

0

Witam,
macie jakieś sprawdzone sposoby na przyśpieszenie zapytań w C# lub VB.net - typu INSERT do MSSQL.

Muszę za pomocą pętli naraz wrzucić 2 800 000 rows z 6cioma kolumnami i wrzuca mi to z 8 minut, wydaję mi się, że stanowczo za długo.

0

To zależy od tego, jak to robisz obecnie i jak komunikujesz się z bazą?

Przy korzystaniu z ORMów generalnie dobrze jest wrzucać paczkami sensownego rozmiaru, bo narzut na wydajność przy zwiększającej się liczbie obiektów w kontekście rośnie chyba wykładniczo.
W NHibernate lepiej użyć StatelessSession zamiast Session. Możesz też użyć SqlBulkCopy.

Skąd bierzesz te rekordy? Bo raczej nie użytkownik wpisuje taką ilość danych ręcznie, jeśli to jakaś migracja z innego źródła, to może lepiej użyć innego niż aplikacja rozwiązania, np. paczki SSIS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1