Czy korzystanie z funkcji wsadowej wsadowej .NET DataAdapter jest bardziej wydajne, jeśli chodzi o przejazdy w obie strony, w porównaniu do używania funkcji DbCommand.ExecuteNonQuery() w pętli?Wstawianie wsadowego SQL w .NET
Pochodzę ze świata Java, miałem nadzieję znaleźć coś podobnego do jego umiejętności wsadowych, w których wiele poleceń SQL jest wysyłanych do bazy danych i wykonywane w jednej operacji. Podczas monitorowania serwera bazy danych widzę obiekt DataAdapter wykonujący jedno wykonanie dla każdego wkładu.
Przeczytałem kilka tematów, które używają SqlBulkCopy, ale to tylko będzie działać na MS Sql Server.
Dzięki!
Jest to jedyny poziom obsługujący grupowanie poleceń. Nie możesz grupować swoich własnych poleceń DbCommands (bez ujawniania niektórych klas wewnętrznych dzięki Reflection). –
Próbowałem tego. Na MS SQL Server, SQL Profiler pokazuje, że każda instrukcja insert wydaje się być na swoim. Po przejrzeniu Twojego komentarza, obejrzałem zrzut TCP rozmowy i widzę, że grupuje ona wiele poleceń razem. Program SQL Profiler pokazuje każdą wstawkę jako zdarzenie "RPC Completed", co wprowadziło mnie w błąd. Dzięki za pomoc. –