SQL 存储过程 多条件 分页查询 性能优化
2024-10-14 21:51:29
最优化查询代码
create proc DoctorDetailed @CreaterTime time,--开始时间
@EndTime time,--结束时间
@page int,--页码
@rows int,--页数
@DoctorName Nvarchar(),--医生名字 AS
begin declare @sql1 nvarchar()
declare @sql2 nvarchar()
declare @page1 int
declare @rows1 int --此处为分页计算 set @page1=(@page-)*@rows+
set @rows1= @page*@rows set @sql1 =' SELECT * FROM (select ROW_NUMBER() OVER(ORDER BY '排序字段' desc ) AS rownum,*
from( select * from as '需要查询的内容' ) as A where =' set @sql2=' ) AS Dwhere where = ' --多条件查询,判断是否字符串传进来为空,不为空则加上条件查询
IF @DoctorName!=''
BEGIN
SET @sql1=@sql1+ ' AND Dwhere.条件查询的列名字(例子:Dwhere.DoctorName)='''+@DoctorName+''' '
END
--分页条件查询 此处传进来的 页数 需要 转换
SET @sql2=@sql2+ 'AND rownum between '+cast(@page1 as varchar())+' and '+cast(@rows1 as varchar())+'' end
最新文章
- iOS-常见问题
- javascript标识符
- leetcode 189
- 关于JAVA日志
- hdu 1425 sort 解题报告
- Codeforces Round #260 (Div. 2) B
- linux下ftp常用命令
- Mysql基本类型(五种年日期时间类型)——mysql之二
- 利用mapreduce清洗日志内存不足问题
- Kafka介绍
- gulp入门详细教程
- CTF---密码学入门第一题 这里没有key
- Java开发笔记(六十五)集合:HashSet和TreeSet
- Vue小项目二手书商城:(三)前端渲染数据
- 01-学习vue前的准备工作
- Install Jetty web server on CentOS 7 / RHEL 7
- 转:zTree树控件入门之checkbox:如何动态设置节点的checkbox选择框启用与禁用状态(chkDisabled)
- linux各种版本下载地址
- springboot-13-junitTest
- DevExpress Components16.2.6 Source Code 编译