博客
关于我
使用sqlserver 查询不连续的数据
阅读量:392 次
发布时间:2019-03-05

本文共 826 字,大约阅读时间需要 2 分钟。

使用ROW_NUMBER()函数进行分页查询是一种有效的方法,可以帮助我们按页获取连续的数据块,优化数据库性能。这种方法无需重建表或复杂的index,可以根据需求灵活调整。以下是详细的步骤:

首先,从数据库中选择需要查询的表,并按指定的字段排序:

SELECT detailsId, detailContentFROM detailsORDER BY detailsId ASC

然后,为结果集添加序号:

SELECT ROW_NUMBER() OVER (ORDER BY detailsId) AS rn, detailsId, detailContentFROM detailsORDER BY detailsId ASC

在结果集中,使用子查询(CTE)将序号额外的列存储起来:

WITH T AS (    SELECT ROW_NUMBER() OVER (ORDER BY detailsId) AS rn,           detailsId, detailContent    FROM details    ORDER BY detailsId ASC)

接下来,根据需要的页码和记录数范围,筛选序号:

SELECT *FROM TWHERE rn BETWEEN (10*(2-1)+1) AND 10*2

其中,pagecount设置为每页显示的记录数,pageno指定当前页码,table填写表名,id指定排序依据。

通过这种方式,可以按需获取指定页码的连续数据,提高数据库性能并优化用户体验。

特殊注意:

  • 软件需求:确认数据库支持ROW_NUMBER()函数。
  • 索引优化:确保排序字段索引已建立,以提升查询效率。
  • 性能测试:对大数据集执行 monitoring,避免过载。
  • 建议在开发过程中逐步测试,确保每页数据连续性正确,并扩大数据量后进行全面测试。

    通过以上方法,用户可以有效地实现分页查询,提升网站表现和用户体验。

    转载地址:http://aitzz.baihongyu.com/

    你可能感兴趣的文章
    CODING 敏捷实战系列课第三讲:可视化业务分析
    查看>>
    工作动态尽在掌握 - 使用 CODING 度量团队效能
    查看>>
    CODING DevOps 深度解析系列第二课报名倒计时!
    查看>>
    数据结构第八节(图(下))
    查看>>
    基于Mustache实现sql拼接
    查看>>
    POJ 2260 Error Correction 模拟 贪心 简单题
    查看>>
    gRPC在 ASP.NET Core 中应用学习(一)
    查看>>
    @SuppressWarnings 用法
    查看>>
    看完你就明白的锁系列之锁的状态
    查看>>
    看完这篇操作系统,和面试官扯皮就没问题了
    查看>>
    我的价值观
    查看>>
    一文详解 Java 并发模型
    查看>>
    值类型与引用类型(中)
    查看>>
    MSSQL 2005 数据库变成可疑状态
    查看>>
    QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
    查看>>
    秋色园引发CPU百分百命案的事件分析与总结
    查看>>
    安装jdk并配置环境变量
    查看>>
    稀疏数组
    查看>>
    js的严格模式
    查看>>
    idea的安装和无限期试用
    查看>>