Ho una lunga lista di stringhe INSERT INTO ...
. Attualmente li corro con:Invio di numerosi comandi SQL in una singola transazione
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (var commandString in sqlCommandList)
{
SqlCommand command = new SqlCommand(commandString, connection);
command.ExecuteNonQuery();
}
}
vedo che ogni ExecuteNonQuery()
esegue anche commesso.
- C'è un modo per inserire tutte le righe in una singola transazione (commit alla fine)?
- Il motivo per cui desidero una singola transazione è rendere il processo di "inserimento" più veloce. Una singola transazione renderà anche più veloce?
SQlBulkCopy http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx –
è possibile utilizzare un ambito di transazione (fare riferimento a MSDN). – TGlatzer
È possibile utilizzare il parallelismo per ogni –