zoukankan      html  css  js  c++  java
  • 对数据的分页再一次思考

      使用Row_Number()和CTE就非常容易进行数据分面了,在这里不再描述,请查找博客园的相关随笔.

      在这里所说的是返回数据行数,大家可以再查询一次,这无疑是对IO再进行一次消耗,我们应该如何完成这个功能呢。废话我也不说了,给出代码,然后你们再自己测试一下

    DECLARE @startRow INT ; SET @startrow = 20;

    WITH cols
    AS
    (
        SELECT name,
            ROW_NUMBER() OVER(ORDER BY name) AS seq,
            ROW_NUMBER() OVER(ORDER BY name desc) AS totalRows
        FROM table

    )
    SELECT name, totalRows + seq -1 as TotRows
    FROM cols
    WHERE seq BETWEEN @startRow AND @startRow + 19
    ORDER BY seq

      从这个来看,无疑增加了CPU的使用,但对于IO的使用降到了最低,从我的经验来看,IO的问题远大于CPU的问题,特别是对于复杂的查询。

  • 相关阅读:
    Python基础编程常用模块汇总
    博客目录
    网络编程
    python 对象
    python模块和规范开发
    python常用内置函数
    python递归函数和匿名函数
    python装饰器
    python迭代器,生成器,推导式
    python作用域
  • 原文地址:https://www.cnblogs.com/yi/p/1732056.html
Copyright © 2011-2022 走看看