Hi All,
I've got a loop that executes the stored procedure in a loop with over 40,000 iterations, like so:
SqlCommand command = new SqlCommand("WriteDataToDB");
command.Connection = _connection;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@SignalID", SqlDbType.Int).Value = Arg_Signal.SignalID;
command.Parameters.Add("@SignalStrength", SqlDbType.Float).Value = Arg_Signal.SignalSiggestion;
command.Parameters.Add("@Time", SqlDbType.BigInt).Value = Arg_Signal.TimeWasHit;
command.Parameters.Add("@Value", SqlDbType.Float).Value = Arg_Signal.ValueWasHit;
if (command.Connection.State != ConnectionState.Open)
{
command.Connection.Open();
}
command.ExecuteNonQuery();
This code is called from a loop where I intercept and time every 1000th iteration. The times I get are below:
[0]: "Started 0ms" [1]: "1000 done 578.125ms"
[2]: "1000 done 921.875ms"
[3]: "1000 done 1328.125ms"
[4]: "1000 done 1734.375ms"
[5]: "1000 done 1140.625ms"
[6]: "1000 done 1250ms"
[7]: "1000 done 1703.125ms"
[8]: "1000 done 1718.75ms"
......
[31]: "1000 done 3234.375ms"
[32]: "1000 done 3390.625ms"
[33]: "1000 done 3453.125ms"
[34]: "1000 done 3609.375ms"
[35]: "1000 done 3765.625ms"
[36]: "1000 done 3796.875ms"
[37]: "1000 done 3968.75ms"
[38]: "1000 done 4093.75ms"
[39]: "1000 done 4203.125ms"
[40]: "1000 done 4546.875ms"
[41]: "1000 done 4406.25ms"
[42]: "Stopped with total 101093.75ms 1515.625ms"
Does anyone have an idea why these execution times are increasing? I need to run this code with over a million iterations - by the rate its going its going to take a minute to execute one iteration...
Many thanks