データベースに対してクエリを発行する場合、オブジェクト グラフのどの深さで、1 つの巨大なクエリの代わりに複数のトリップを使用するだけで実際にパフォーマンスが向上しますか?
質問する
40 次
2 に答える
1
この質問は、現在の形式では回答できません。
複雑さの性質、対象のデータベース プラットフォーム (およびバージョン)、ネットワーク接続などによって異なります。
私の経験では、この問題に取り組む最善の方法は
- まず自分の直感を信じてください
- 結果を測定する
- パフォーマンスが許容できない場合は戦略を変更する
- 経験から学ぶ
于 2012-07-27T20:41:17.270 に答える
1
リレーショナルデータベース(あなたがそれらについて尋ねていると仮定して)は、ミドルウェアのオブジェクト/エンティティを理解/表示しません。そのため、クエリがどの深さから発信されているかはわかりません。それらはすべて、ステートレスな宣言型の方法で実行されます。
一般に、大規模なクエリの代わりにいくつかの単純なクエリを使用しても、(1) 接続がプーリングによって再利用されている (2) 接続のオープン/クローズのライフサイクルが短い場合は、パフォーマンスが大幅に低下することはありません。
基礎となるデータベースが適切に調整され、適切にインデックス化されている場合は、大量のデータを取得する大規模なクエリも望ましいです。トラフィックを減らし、使用する接続を減らし、同時実行を支援します。
于 2012-07-27T20:45:44.817 に答える