zoukankan      html  css  js  c++  java
  • 我认为最快的存储过程分页

    我在项目里面如果使用存储过程分页,都是这样做的。

     1
     2
     3
     4
     5
     6
     7CREATE      PROCEDURE page
     8 @PageIndex    int ,                                  /*当前页数*/
     9 @PageSize      int                                   /*每页大小*/
    10 AS
    11  
    12
    13IF @PageIndex > 0
    14 BEGIN
    15     DECLARE @PageLowerBound int 
    16     DECLARE @StartID int
    17     DECLARE @sql varchar(225)
    18
    19     SET @PageLowerBound = @PageSize * (@PageIndex-1)
    20    
    21     SET ROWCOUNT @PageLowerBound 
    22    
    23     SELECT  @StartID = [id]      FROM table     ORDER BY id desc
    24     
    25     SET ROWCOUNT 0
    26     
    27    
    28     SET @sql='select top '+str(@PageSize+' COLUMNS from table where      and [id]>'+ str(@StartID+' ORDER BY id '     
    29
    30     EXEC(@sql)
    31 END 
    32

    如果大家不喜欢用游标,那就将下面部分改为
    1SET ROWCOUNT @PageLowerBound 
    2    
    3     SELECT  @StartID = [id]      FROM table     ORDER BY id desc
    4    
    5     SET ROWCOUNT 0

    不使用游标的方法

    1  
    2    set sql='SELECT top '  +str(PageLowerBound)+   ' @startID=[id] FROM table     ORDER BY id desc'
    3exec(sql)
    4



     
  • 相关阅读:
    Hibernate 笔记 之 三 基础优化方面
    Hibernate 笔记 之 二 查询
    Hibernate 笔记 之 一 创建与配置
    hibernate初次配置及测试
    CentOS 7.3 安装MySQL--Java--Tomcat
    Spring AOP:自动注入参数值
    Spring AOP:实现Request信息获取
    IntelliJ IDEA导出项目文档
    IntelliJ IDEA:Shortcut Key
    iText生成PDF
  • 原文地址:https://www.cnblogs.com/leiyu1980/p/165905.html
Copyright © 2011-2022 走看看