SqlDataAdapter.Fill-Methode langsam
Warum würde eine gespeicherte Prozedur, die eine Tabelle mit 9 Spalten und 89 Zeilen mit diesem Code zurückgibt, 60 Sekunden benötigen, um ausgeführt zu werden (.NET 1.1), wenn die Ausführung in SQL Server Management Studio <1 Sekunde dauert? Es wird auf dem lokalen Rechner ausgeführt, so wenig / keine Netzwerklatenz, schnelle Entwicklungsmaschine
Dim command As SqlCommand = New SqlCommand(procName, CreateConnection())
command.CommandType = CommandType.StoredProcedure
command.CommandTimeout = _commandTimeOut
Try
Dim adapter As new SqlDataAdapter(command)
Dim i as Integer
For i=0 to parameters.Length-1
command.Parameters.Add(parameters(i))
Next
adapter.Fill(tableToFill)
adapter.Dispose()
Finally
command.Dispose()
End Try
Mein Parameter-Array ist typisiert (für diese SQL ist es nur ein einzelner Parameter)
parameters(0) = New SqlParameter("@UserID", SqlDbType.BigInt, 0, ParameterDirection.Input, True, 19, 0, "", DataRowVersion.Current, userID)
Die gespeicherte Prozedur ist nur eine Select-Anweisung wie folgt:
ALTER PROC [dbo].[web_GetMyStuffFool]
(@UserID BIGINT)
AS
SELECT Col1, Col2, Col3, Col3, Col3, Col3, Col3, Col3, Col3
FROM [Table]