私は、spが約30レコードセットを返すシナリオを持っています。レコードセットの数を減らすと、C#で多くのループを記述してデータを取得し、正しいバケットに入れる必要があります。 SQLのレコードセット数を減らし、C#のループとコードの複雑さを増やすことは有益でしょうか?SQLでレコードセットの数が増えるとアプリケーションのパフォーマンスが低下しますか?
答えて
1つのストアドプロシージャから30レコードセットを返すことは、少ないレコードセットを返しますが複数のストアドプロシージャを呼び出すよりも望ましいですか。
- のような多くの要因にウェブサーバとのSQLServer
- あなたはの点では通常、その優れた
を照会データの種類と量との間のネットワーク帯域幅と遅延に依存
データベースへのラウンドトリップ回数を減らすことができます。しかし、取得する必要があるデータ量が非常に多い場合は、アプリケーションの応答性が低下する可能性があります。
あなたのアプリの特定のニーズについてもっと知りません。
本当にあなたのアプリケーションによりますが、各データセットのすべてのデータが必要ですか。
データベースに余分なラウンドトリップを追加すると、通常パフォーマンスが低下します。しかし、あなたが試してみるまで(または完全なコードレビューをする)ことは決して分かりません。
30レコードセットを返すか、同じデータを返すストアドプロシージャが30個ある場合でも、データベースアクセスコードに正確に同じ数のレコードを処理し、同じ数のループを持つ必要があります。
データを取得するために30個の異なるストアドプロシージャのコマンドを作成して実行する必要がないため、30個のレコードセットアプローチにわずかなパフォーマンス上の利点があります。
しかし、特にメモリ消費の点で、データベースとアプリケーションへの全体的な影響は、30レコードセットアプローチの方が大きくなると思います。このアプローチでは、アプリケーションコードが処理している間に何か(SQL Serverまたはアプリケーション)が取得したデータをどこかに保持する必要があります。 spアプローチを使用する場合、処理の任意の時点で処理するために保持されているデータは、通常、spアプローチではかなり小さくなります。
パフォーマンスに関して、データベースの並行性とロックに潜在的な問題もあります。 1つのspですべてのデータを検索すると、ストアドプロシージャの次のデータセットを続行する前に、ロックがクリアされるのを待つ必要がないため、全体のデータ検索速度が低下する可能性があります。これは、より長い時間の間、より高いメモリ消費を意味する。 spアプローチでは、同じ時間量で検索がブロックされることがありますが、ロックがクリアされるまで既に取得済みのデータを保持する必要がないため、メモリ消費量は平均して少なくなります。
ただし、1時間に何万件ものトランザクションを実行していないか、レコードセットにギガバイトのデータが含まれている場合は、アプローチを変更するとアプリケーションに重大な影響を及ぼすとは思われません。保守性の観点からは最高だと思います。
- 1. cuSparse反復回数が増えるとスループットが低下する
- 2. アプリケーションのパフォーマンスが低下する
- 3. ノード数を増やすことでスパーククラスタのパフォーマンスが低下する
- 4. アプリケーションでの奇数のパフォーマンスの低下
- 5. pl/sqlとmsqlが結合し、パフォーマンスが低下します
- 6. SQLサーバーのパフォーマンスが低下する理由は何ですか?
- 7. SQL Serverのパフォーマンスが低下する原因は何ですか?
- 8. PNGを使用するとAndroidアプリケーションのパフォーマンスが低下しますか?
- 9. テーブルのパフォーマンスが低下します
- 10. SPARK:DRIVER MEMORYの数を増やすとパフォーマンスが低下する可能性がありますか?
- 11. CPU数を増やすと、CPU負荷が一定で通信がないため、パフォーマンスが低下します
- 12. のMySQL:パフォーマンスの低下が
- 13. テーブルが多いとパフォーマンスが低下しますか?
- 14. "this->"を使用するとパフォーマンスが低下しますか?
- 15. Railsにログインすると、パフォーマンスが低下しますか?
- 16. Javaクラスをオーバーライドするとパフォーマンスが低下しますか?
- 17. Matlab parfevalを使用するとパフォーマンスが低下しますか?
- 18. 操作数の増加に伴うパフォーマンスの低下
- 19. バックグラウンドサイズ:ChromeとSafariでカバーのパフォーマンスが低下しています
- 20. Perl:複数のファイルを読むとパフォーマンスが低下する
- 21. AndroidでORMLiteのパフォーマンスが低下していますか?
- 22. OpenGLではプログラムのパフォーマンスが低下しますか?
- 23. Websharperアプリケーションのパフォーマンスが低下し、メモリリークの可能性があります
- 24. [NSCursor set]を呼び出すと、パフォーマンスが低下しますか?
- 25. IdentityServer 3のパフォーマンスが低下したMembershipReboot
- 26. ステートメントを含むとパフォーマンスが低下しますか?
- 27. 平均を計算するとパフォーマンスが低下します
- 28. linq 2エンティティを使用するとパフォーマンスが低下します
- 29. setMinimumLoggingLevelをVERBOSEに設定するとパフォーマンスが低下します
- 30. ログの書き込みが多すぎるとAndroidアプリケーションのパフォーマンスが低下しますか?
おそらく、おそらくそうではありません。あなたはそれを試してみる必要があります – gbn