• 使用存储过程分页


    大家知道,如果一次性把记录全部查询过来,然后保存在内存里面,会比较浪费资源,因此,需要多少数据查询多少数据才比较合理,下面是使用存储过程分页的方法。这个方法的缺点就是如果到记录的后面时,查询的量也比较大。

    --根据条件显示相应的记录,并分页。
    CREATE PROC SelectPageFiles
    @WhereCondition nvarchar(
    500),  --查询条件
    @PageIndex 
    int,        --页号
    @PageCount 
    int,           --每页的记录数
    @OrderCondition varchar(
    50--排序条件
    as

    SET NOCOUNT ON
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED

    declare @SQL nvarchar(
    2500)
    set @SQL='SELECT top '+convert(varchar,@PageCount)+' FileId,
            [title],    
        UpFile,
        filetable.cateid,
        filetable.gradeId,    
        [adddate],    
        filetable.filetypeid,    
        [kemu_id],    
        hit,
        dbo.GetGradeName(gradeId) 
    as GradeName,
        dbo.GetFileTypeName(FileTypeID) 
    as FileTypeName,
        convert(
    int,FileSize) as FileSize2
     FROM [dbo].[filetable]    
     WHERE fileid not 
    in
     (
    select top 
    '+convert(varchar,(@PageIndex-1)*@PageCount)+' fileid from filetable 
         
    where  '+@WhereCondition+'  order by '+@OrderCondition+')
    and  
    '+@WhereCondition+'  order by '+@OrderCondition


    print @SQL
    EXEC sp_executesql @SQL
    GO
  • 相关阅读:
    数据库优化空间换时间优化
    sql server性能分析查询死锁和阻塞的sql语句
    修改储存过程所有者
    SQL Server 查看数据库基本信息
    SQL语句之普通行列转换
    Ext.Window
    小议操作符“^”与"&"的应用
    数据库设计名值模式(转)
    为数据库建立索引
    sql server性能分析检测数据库阻塞语句
  • 原文地址:https://www.cnblogs.com/ringwang/p/1046137.html
Copyright © 2020-2023  润新知