
[英]Measuring Query Performance : “Execution Plan Query Cost” vs “Time Taken”
[英]Performance Issue : Sql Views vs Linq For Decreasing Query Execution Time
我在ASP.NET Webforms中具有系统设置程序,并且在某些特定情况下有“帐户记录生成”表单,我需要提取接近100万的所有记录。
一种解决方案可能是减少要提取的记录数量,但是当我们需要提取5年以上的记录时,时间记录分别是50万,100万等。如何减少其时间?
我可以用来减少时间的点是什么? 我无法在此处显示完整查询,这是一个大视图,其中调用了其他一些视图
如果将它设计为Linq查询,会花费更少的时间吗? 这就是为什么我问Linq vs Views
我已经执行了一个“从TableName中选择*”查询及其40分钟,其仍在执行的表有1,17,000条记录我们可以减少此时间线吗?
我以评论开始,但没有足够的空间。
使用服务器为您执行尽可能多的筛选,并返回尽可能少的行。 客户端过滤总是比服务器端过滤要慢得多。 例如,它无权访问服务器上存在的索引和优化技术。
Linq使用“惰性评估”,这意味着它建立了一种过滤方法,但直到被迫执行才执行。 我用过它,最初对速度印象深刻……直到我开始访问它返回的数据。 当您使用来自Linq的数据时,这将触发实际的选择过程,您会发现这很慢。
使用服务器返回一系列小的结果集,然后进行处理。 如果您需要将这些结果集结合到一个键上,请使用该键将它们保存到字典中,以便您可以快速将它们结合在一起。
另一种方法是查看实体框架,以创建服务器数据库结构的镜像以及索引,以便您检索的数据子集可以快速加入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.