【发布时间】:2012-11-12 09:44:32
【问题描述】:
我的数据库中有超过 50,000 条记录,我必须在我的应用程序中处理这些记录(数量至少每天增加 2000 条)。
我目前使用的方式是:Linq 到实体,在数据库中有一个存储过程,它返回一个对象的集合,以便我可以处理它。
但是我注意到它很慢,从数据库中获取这么多记录的最有效方法是什么?
我的代码示例:
items = (from f in db.spItems().OrderByDescending(f => f.date)
group f by f.ID into g
select g.FirstOrDefault()).Take(9).ToList();
join ar in db.anothertable on f.ID equals ar.ID
join t in db.thirdtable on ar.tid equals t.ID
spItems 是一个获取结果的存储过程,但有时我必须对其进行多次连接
【问题讨论】:
-
这取决于您如何使用数据。你需要所有的数据吗?还是只显示部分数据?请提供更多上下文。
-
多线程在这里不起作用,因为一旦其中一个线程访问数据库,其他线程就会阻塞。
-
如下 mnetioned,我只得到大约 20 条记录,但会进行多次连接,我会放一个我的代码示例
-
@AliIssa:我对 Linq-To-Sql 不熟悉,但是为什么在查询中使用
ToList()?
标签: c# asp.net sql sql-server linq