私はWebサービスを持っているので、ハンドラーは常に同時に複数回呼び出されます。
内部でSqlConnectionとSqlCommandを作成します。約7つの異なるコマンドを実行する必要があります。さまざまなコマンドにはさまざまなパラメーターが必要なので、一度追加するだけです。
command.Parameters.Add(new SqlParameter("@UserID", userID));
command.Parameters.Add(new SqlParameter("@AppID", appID));
command.Parameters.Add(new SqlParameter("@SID", SIDInt));
command.Parameters.Add(new SqlParameter("@Day", timestamp.Date));
command.Parameters.Add(new SqlParameter("@TS", timestamp));
次に、実行中にCommandTextプロパティを変更してから、ExecuteNonQuery()を呼び出します。またはExecuteScalar();
そして、私はパフォーマンスの問題に直面しています。たとえば、ほとんどのdebugginとprofilingは、そのコマンドを示しています
command.CommandText = "SELECT LastShowTS FROM LogForAllTime WHERE UserID = @UserID";
平均で約50msかかります。次のように変更した場合:
command.CommandText = "SELECT LastShowTS FROM LogForAllTime WHERE UserID = '" + userID.Replace("\'", "") + "'";
その後、平均で1msしかかかりません!
問題を調査する場所がわかりません。