zoukankan      html  css  js  c++  java
  • SQL 存储过程 多条件 分页查询 性能优化

    最优化查询代码

    create proc DoctorDetailed
    
    @CreaterTime time,--开始时间
    @EndTime time,--结束时间
    @page int,--页码
    @rows int,--页数
    @DoctorName Nvarchar(20),--医生名字
     
    
    AS
    begin
    
    declare @sql1 nvarchar(400)
    declare @sql2 nvarchar(400)
    declare @page1 int
    declare @rows1 int
    
    
    
     --此处为分页计算
    
     set @page1=(@page-1)*@rows+1
     set @rows1= @page*@rows
    
    set @sql1 =' SELECT * FROM (select ROW_NUMBER() OVER(ORDER BY '排序字段' desc  ) AS rownum,*
            from( select * from as '需要查询的内容' ) as A where 1=1'
                 
              
          
    set @sql2='          
                
         ) AS Dwhere where 1=1 '
    
    --多条件查询,判断是否字符串传进来为空,不为空则加上条件查询
       IF @DoctorName!=''
            BEGIN
                SET @sql1=@sql1+ ' AND Dwhere.条件查询的列名字(例子:Dwhere.DoctorName)='''+@DoctorName+''' '
            END
      --分页条件查询   此处传进来的 页数 需要 转换
       SET @sql2=@sql2+ 'AND  rownum  between '+cast(@page1 as varchar(10))+' and '+cast(@rows1 as varchar(10))+''
    
    
     end
  • 相关阅读:
    convex hull
    不努力,你就没有资格谈天赋
    “数数”的感悟
    平行四边形法则的感悟
    ansys 15 Linux 安装问题
    SHV-E210S 刷4.3
    fedora 安装 Oracle11g 遇到的问题
    ObjectArx开发常用资料
    MFC入门(二)
    MFC入门(三)
  • 原文地址:https://www.cnblogs.com/LZXX/p/8276722.html
Copyright © 2011-2022 走看看