我有一个包含20万个记录的表格,我正在使用.Take()
方法获取其中前10个记录,但需要大约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()
是从存储过程中导入的函数。
谢谢。