与使用SQL Server 2008后端加载大多数低级别C的自定义优化查询相比,使用C#和LINQ需要多少数据库性能开销?

我特别想到的是一个案例,你有一个相当数据密集的程序,并且每个屏幕至少会进行一次数据刷新或更新,并且会同时拥有50-100个用户。

===============>>#1 票数:2

谢谢斯图。 底线似乎是LINQ to SQL可能在新版本中没有显着的数据库性能开销,如果你能够使用编译选择,并且较慢的更新功能可能会更快,除非你有一个真正的锐利专家做大部分编码。

===============>>#2 票数:2 已采纳

根据我的经验,如果编写查询的人知道他/她正在做什么,并且采取通常的预防措施以确保生成的查询是最佳的,必要的索引到位等等,那么开销很小。换句话说,数据库的影响应该是一样的; 应用程序端的开销很小但通常可以忽略不计。

那说......有一个例外; 如果单个查询生成多个聚合,则L2S提供程序将其转换为每个聚合具有一个子查询的大型查询。 对于大型表,这可能会产生严重的I / O影响,因为查询的db I / O开销会增加查询中每个新聚合的大小。

解决方法当然是将聚合移动到存储过程或视图。 Matt Warren为替代查询提供程序提供了一些示例代码,可以更有效地转换这种查询。

资源:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=334211

http://blogs.msdn.com/mattwar/archive/2008/07/08/linq-building-an-iqueryable-provider-part-x.aspx

  ask by Fred translate from so

未解决问题?本站智能推荐: