c# - 分页大型数据集 - SQL Server(最佳实践)

标签 c# asp.net sql-server pagination

我对使用 ASP.NET 和 SQL Server 对大型数据集(超过 100 000 条记录)进行分页的最佳做法很感兴趣。

我之前使用过SQL server来执行分页,虽然这似乎是一个理想的解决方案,但是围绕这个解决方案的动态排序会出现问题(用于确定列的order by子句的case语句和ASC/DESC的case语句命令)。我不喜欢这个,因为它不仅将应用程序与 SQL 细节绑定(bind)在一起,而且是可维护性的噩梦。

对其他解决方案开放...

谢谢大家。

最佳答案

根据我的经验,100 000 多条记录对于查看它们的用户来说太多了。上次我这样做时,我提供了过滤器。因此用户可以使用它们并查看过滤后的(较少数量的)记录并对其进行排序,因此分页和排序变得更快(比对整个 100 000 条记录进行分页/排序)。如果用户不使用过滤器,我会显示一个“警告”,大量记录将被返回并且会有延迟。按照 Erick 的建议在正在排序的列上添加索引也肯定有帮助。

关于c# - 分页大型数据集 - SQL Server(最佳实践),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3111090/

相关文章:

mysql - SQL连接4表

c# - 数字签名 从 SHA1 到 SHA256

c# - web.config 中的 customError 仅适用于 .aspx 页面

c# - 如何将我的选择值存储到 session 变量中?

asp.net - 如何为现有ClaimsIdentity指定目的地?

sql-server - 如何停止和启动 SQL Azure 数据库?

c# - 使用 (XALM) 构建过程模板在 TFS 2013 中将工具路径设置为 MSBuild 2019

c# - 我应该如何使用 Rx + DynamicData 定期检查许多在线服务的更新?

c# - 检查是否处理了所有枚举值

c# - 如何使用 C# 在 SQL Server 中查找值是否为 NULL