LINQ to SQL(CE)速度与SqlCe的比较

时间:2009-07-10 18:12:37

标签: c# .net linq-to-sql

我正在创建一个应用程序来分析已存储到SQL CE数据库的实时数据。当我测试现在构建的应用程序时,使用LINQ to SQL,我得到的结果很慢,我需要重新考虑如何执行此操作。

为了节省一些时间,我能相信L2S和'旧的'SqlCe方法一样快吗?我喜欢L2S,并且更愿意继续使用它,如果你的经验表明它与任何其他数据库连接一样快,我可以放心,我不会通过将L2S重写为旧的SQL语句来提高性能。

2 个答案:

答案 0 :(得分:2)

使用SqlCE时的瓶颈并不是源于从Linq到Sql生成的SQL。请记住,CE是一个进程中的数据库,因此有它的局限性。例如,无论您使用什么来查询它,LEFT OUTTER JOINS都是灾难。插入和更新也不错,但是如果你要做其中任何一个的大量,那么你将遇到一些严重的性能问题。我的观点是,缓慢不是因为LINQ to SQL。我过去曾经对它进行过基准测试(不知道我是否仍然拥有该代码),而且从我记忆中看,Linq to SQL并不比使用ADO.NET直接查询它慢。性能问题是由于CE本身的限制。

答案 1 :(得分:2)

如果您使用去年的SQL CE this video,那么PDC非常有用。我们对如何优化查询完全成熟的SQL Server的想法并不总是适用,有时会损害SQL CE的性能。

我建议你观看它,因为主持人解释了差异,并做了显示结果的基准。 Here你可以找到他博客的链接。