欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL提高分页效率

程序员文章站 2024-03-31 14:33:16
下面就是大数据量时提高分页的效率的测试代码,分享给大家。 --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库“testforpaging” u...

下面就是大数据量时提高分页的效率的测试代码,分享给大家。

--提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库“testforpaging”
use testforpaging
go
--创建表somedata
create table somedata
(
id int primary key,
name varchar(30) null,
description text
)
go
--插入数据
insert into somedata values(1,'num1','第1条')
go
insert into somedata values(2,'num2','第2条')
go
insert into somedata values(3,'num3','第3条')
go
insert into somedata values(4,'num4','第4条')
go
insert into somedata values(5,'num5','第5条')
go
--数据条目总数
select count(*) from somedata
go
--给每条记录添加一个数据级别
select name,description,row_number() over(order by id desc)as datalevel from somedata
go
--查看指定的数据级别间的数据条目
select datalevel,name,description from
(select name,description,row_number() over(order by id desc)as datalevel from somedata)
 as datawithleverl where datalevel between 2 and 4
go
--实现查看指定的数据级别间的数据条目的存储过程
create procedure getdatapaged
(
@startrowindex int,
@maximumrows int,
@sort varchar
)
as
--确保指定sort
if len(@sort)=0
set @sort='id'
--带参数的查询
select datalevel,name,description from
(select name,description,row_number() over(order by @sort desc)as datalevel from somedata) as datawithleverl
where datalevel > (@startrowindex*10) and datalevel <= (@startrowindex*10 + @maximumrows)
go

以上就是本文的的全部内容,希望对大家的学习有所帮助。