使用LINQ时多少数据库性能开销?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用LINQ时多少数据库性能开销?

心有灵_夕 2019-12-25 20:24:39 170

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

我在这里特别考虑的情况是,您有一个数据密集型程序,并且每个屏幕至少要刷新或更新一次数据,并且同时有50-100个用户

SQL 开发框架 .NET 数据库
分享到
取消 提交回答
全部回答(1)
  • 心有灵_夕
    2019-12-25 20:24:55

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

    就是说……这是一个例外。如果单个查询生成多个聚合,则L2S提供程序会将其转换为一个大型查询,每个聚合有一个子查询。对于大表,这可能会对I / O产生重大影响,因为查询中每个新聚合的查询的db I / O成本都会随着幅度的增长而增加。

    解决方法当然是将聚合移动到存储的proc或view。马特·沃伦(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

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程