mongodb中实现分页显示:
用limit(pageViewNum)的结果集作为分页显示的第一页,然后将每一个后续页面作为相对于开始的偏移量返回。
每次返回整个结果集合的一部分。
超大文件的读取利用分页访问,对分页大小的设置得当,可以安全高效随机的读取访问指定位置的文件。通过偏移量计算出访问的起始位置。
当要对数据库中的大量数据进行化整为零的算法来一部分一部分的遍历,并处理数据时,。
处理过程中会遇到以下问题:
由于物理设备上,数据的存储顺序不一定与用户期望数据的排序方式一致,如果不一致需要对大量数据进行排序。
即使将数据排好序使用游标遍历数据时,服务器端需要以消耗内存和其他资源为代价。
遍历游标数据后,处理数据的时间比较长。
当遍历静态的数据且处理次数有限时,可以首先按照用户的期望数据的排序方式查询数据,并在此固化到物理硬盘上,增加记录序号,记录数据的位置,之后再分页获取数据。
实践应用举例:
佣金计算时需要对上月营业流水进行遍历获取符合条件的用户,计算佣金。如果使用游标,由于游标使用的限制,产生性能上的问题。
将数据重新排序并固化到物理设备上,再按照数据记录的序号分页访问,进行计算(数据处理环节)。快速,高效,简洁。