У меня есть эта общая подпрограмма, которую я написал, которая берет список строк sql и выполняет их для базы данных. Есть ли способ, как я могу сделать это быстрее? Обычно он может видеть 200 вставок, удалений или обновлений одновременно. Иногда возникает смесь обновлений, вставок и удалений. Было бы хорошей идеей разделить запросы по типу (то есть группа вставляет вместе, затем обновляет и затем удаляет)?
Я запускаю это для базы данных ms access и использую vb.net 2005.
Public Function ExecuteNonQuery(ByVal sql As List(Of String), ByVal dbConnection as String) As Integer
If sql Is Nothing OrElse sql.Count = 0 Then Return 0
Dim recordCount As Integer = 0
Using connection As New OleDb.OleDbConnection(dbConnection)
connection.Open()
Dim transaction As OleDb.OleDbTransaction = connection.BeginTransaction()
'Using cmd As New OleDb.OleDbCommand()
Using cmd As OleDb.OleDbCommand = connection.CreateCommand
cmd.Connection = connection
cmd.Transaction = transaction
For Each s As String In sql
If Not String.IsNullOrEmpty(s) Then
cmd.CommandText = s
recordCount += cmd.ExecuteNonQuery()
End If
Next
transaction.Commit()
End Using
End Using
Return recordCount
Функция завершения