200,000レコードのテーブルがあり、使用しているトップ10のみ.Take()
を取得していますが、データを取得するのに約10秒かかります。
私の質問は、この.Take()
メソッドはデータベースからすべてのデータを取得し、クライアント側で上位10個をフィルタリングするかどうかです。
これが私のコードです:
mylist = (from mytable in db.spdata().OrderByDescending(f => f.Weight)
group feed by mytable.id into g
select g.FirstOrDefault()).Take(10).ToList();
spdata()
ストアドプロシージャからインポートする関数です。
ありがとう