高效分页排序方法

本文详细探讨了在面对十万乃至百万级别数据量时,如何通过优化分页排序策略来提高数据库查询效率。介绍了三种不同的方法,并通过实际测试验证了它们在不同数据量下的性能表现。重点分析了每种方法的特点、适用场景以及存在的局限性,旨在为开发者提供实用的分页排序解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分页排序,当数据达到十万、百万级别的时候,使用何种方式分页排序效率高呢!最近在这个问题上不断的纠缠,网上也有很多方法,但各有各的不足之处。现在列出以下方法,仅供参考:

以下方法测试环境:数据量总共166983条记录,每页30条,总共有5567页,读取的字段数目为28列

 

第1种方法:

此方法有两个缺点:

第一:只能用在sqlserver2005中,2000不能使用

第二:当页数达到五千页后,最后页数的时间在1-2秒之间,效率不高

 

第2种方法:

此种方法每页用的时间在0.3-0.5秒之间

 

第3种方法:

此种方法前后页面读取时间在0.1-0.4秒之间,中间页读取的时间在0.4-0.8秒之间。

 

先把第1、3中方法用C#写出类,直接用sql语句,不用存储过程。

C#类方法1

C#类方法2

 

ps:

            //this.KeyName;关键字段,唯一
            //this.Order;排序方式desc或者asc
            //this.OrderName;排序字段
            //this.PageCount;总页面数目
            //this.PageIndex;当前页面数目
            //this.PageSize;页面大小
            //this.RecordCount;总记录数目
            //this.SelectStr;要显示的列
            //this.TableName;表名
            //this.WhereCondition;查询条件

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值