0

「作業単位」が「単位」ではなくなるのはいつですか? リソースに関しては、どちらのシナリオが適していますか? 1 つ目は 1 つの接続を作成し、2 つ目は 4 つ作成します。

using (DataContext dc=new DataContext) 
{
  var orders= from o in dc.orders 
              select ( new Product {  property a= from a in ..join... select x, 
                                      property b= from b in ..join... select y,
                                      property c= from c in ..join... select z.}
                      )
}

また

using (DataContext dc=new DataContext) 
{
  var orders= from o in dc.orders 
              select ( new Product {  property a = GetPropertyA(), 
                                      property b = GetPropertyB(),
                                      property c = GetPropertyC()}
                      )
}
4

2 に答える 2

1

一般的に言えば、データベースへの往復が少ないほど良いです。ただし、大規模なアプリでは、データベースをますます「ダム」にすることが多いため、最終的には結合を行わず、SQL データベース サーバーの CPU とメモリを拘束しません。それは、どのリソースがより不足しているのかに大きく依存します。SQL サーバーに十分なリソースがある場合は、そこで結合を行います。それ以外の場合は、個別にプルバックする方がよいでしょう。SQL プロファイラーでこの結果を見ましたか? それは 4 つの接続ですか、それとも 4 つの個別の呼び出しですか?

于 2009-01-12T22:20:40.067 に答える