分页的几点看法

一下将简单接收分页的方式,从内存分页,数据库limit分页,混合分页去介绍

内存分页

       通过字眼,就能知道其大概意思,把数据都放到内存中,根据页数和每页的个数,取出每一页的数据,java中比较常用的是使用sublist取出子串。代码如下

  int count =totalList.size(); //获取总个数
        int totalPages;//总页数
        if(count%10==0){
            totalPages=count/10;
        }else {
            totalPages=count/10+1;
        }
        if(pageNum>totalPages){
            pageNum=1;
        }
        int fromIndex = (pageNum - 1) * 10;
        int toIndex = pageNum * 10;
        if (toIndex > count) {
            toIndex = count;
        }
        List<Object> sublList = totalList.subList(fromIndex, toIndex);
这类型的分页,适合于数据量比较小的,若数据比较大,放图片等,则很可能会产生oom

数据库limit分页

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
这个应该是使用比较多分页SQL查询语句,首先这个一个问题就是随着页数增加偏移量会越来越大,关于这点优化详见Mysql分页之limit用法与limit优化

若分页比较小,而数据量又比较大,这样就会频繁的访问数据库,也会造成瓶颈问题。

混合分页

在数据量比较多时,可以采用平衡策略,

每次访问数据库,查出10页的数据,把这10页数据放在内存中分页,这样一方面减少对数据库频繁访问,又可以防止内存中过多数据,速度上也会很快。

   每种分页各有各的用武之地,使用的时候要更具自己实际需要去选择。

在进行web页面分页测试时,可以考虑以下几个测试点: 1. 验证总页数和当前页数是否显示正确。 2. 确保首页和尾页按钮点击时有相应的限制,例如在第一页时禁用首页按钮,在最后一页时禁用尾页按钮。 3. 测试下一页、上一页、首页和尾页按钮的操作功能是否正常。 4. 验证跳转页面操作,输入大于当前页面页数的数据,检查系统的处理情况。 5. 检查跳转页文本框输入超长字符或特殊字符时,系统的处理情况。 6. 进行中间分页验证,确保页面在翻页时的数据正确性和分页功能正常。 以上是一些常见的web页面分页测试点,通过对这些点的测试,可以确保分页功能的正常运行。同时,根据具体的需求,还可以根据引用中提到的其他测试点进行补充,例如表单测试、数据的正确性、提示信息等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Web端功能测试(常用组件测试点)](https://blog.csdn.net/qq_38484679/article/details/105957019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [web(增删改查)所有测试点](https://download.csdn.net/download/qq_34758174/12858233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值