先日、このコードがASP.NETアプリケーションで検出されました。保存されたProcsを並行して呼び出す - その価値は?
var task1 = Task.Run(() => CallStoredProc1());
var task2 = Task.Run(() => CallStoredProc2());
...
var task8 = Task.Run(() => CallStoredProc8());
Task.WaitAll(task1, task2, ..., task8);
これらの8個のストアドプロシージャは、すべて同じSQL Serverデータベース上の単純なクエリです。
この場合、8個のストアド・プロシージャ・コールを呼び出すことは無視できるほど節約できますか?そうでない場合は、この反パターンの正しい名前に関する提案はありますか?
私は実際にはそれぞれのストアドプロシージャが実際に何をしているかに依存していると言います。 – Igor
このパターンは、WebサーバーとSQL Server間の待ち時間のために浪費される時間を削減することで、パフォーマンスを向上させるのに役立ちます。これは、通常、タスク並列ライブラリを使用するオーバーヘッドよりもはるかに大きくなります。 –
それは可能性があります、SQLサーバーは並列処理を行うことができますので、潜在的な時間の節約。 –