1

次のコードがあります

public async Task<IEnumerable<MyTabel>> GetData()
        {
            try
            {
                var dbCtx = new myEntities();

                return await dbCtx.MyTabel.ToListAsync();
                //return await dbCtx.MyTabel.ToArrayAsync();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

ToListAsync または ToArrayAsync メソッドがパフォーマンスに優れているのは何ですか? 誰か知っていますか ?

ありがとう。

アップデート

私にとってのパフォーマンスは同等であり、メモリ使用量が少なく、クエリ時間が短縮され、同時実行性が高くなります

4

1 に答える 1

5

ToList()ToArray()サイズがわかったら、配列をもう一度コピーする必要があるため、は よりも高速です。( とは異なりList<T>、配列に余分なスペースを含めることはできません)
非同期バージョンについても同じことが言えます。

ただし、この機能がまったく必要ない場合もあります。
クライアント上のすべてのデータを本当に取得する必要がない限り、LINQ to entities を使用してデータベースで SQL クエリを実行する方がはるかに効率的です。

于 2013-08-07T15:49:16.650 に答える