gpt4 book ai didi

asp.net-mvc - LINQ to SQL分页和COUNT(*)

转载 作者:行者123 更新时间:2023-12-04 13:45:07 35 4
gpt4 key购买 nike

我在Web应用程序中使用的是PagedList类,如果您一直在使用ASP.NET MVC和LINQ to SQL进行任何操作,则可能很多人对此很熟悉。它已经由Rob Conery发布,并且类似的化身也包含在Nerd Dinner等内容中。它的效果很好,但我的DBA提出了有关潜在的 future 性能问题的担忧。

他的问题是由于以下这一行而发出的SELECT COUNT(*):

TotalCount = source.Count();

由于IQueryable.Count()方法调用的结果,任何已分页数据的操作都会触发其他查询(如下所示):
SELECT COUNT(*) AS [value] FROM [dbo].[Products] AS [t0] 

有没有更好的方法来解决这个问题?我考虑过使用PagedList类的Count属性来获取项目计数,但是意识到这是行不通的,因为它只计算当前显示的项目数(而不是总数)。

当数据库中有大量数据时,这会对我的应用程序造成多少性能影响?

最佳答案

iirc这东西是索引统计的一部分,应该非常有效率,您应该要求DBA将他的担忧归类,而不是过早地进行优化。

关于asp.net-mvc - LINQ to SQL分页和COUNT(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255067/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com