MySQL提数据高分页效率

我的这段代码是大数据量时提高分页的效率的测试代码
--提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库“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

时间: 2024-11-02 20:29:41

MySQL提数据高分页效率的相关文章

mysql大数据高并发处理

一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整个系统的流程的时候,我们必须

如何提高MySQL数据分页效率

  本节的数据编辑插教程给我们简单介绍如何提高MySQL数据分页效率,下面我们将会给出的这段代码是大数据量时提高分页的效率的测试代码. 如果你也需要设置MySQL数据提高分页效率,那么,就一起来看看代码段吧! --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库"TestForPaging" use TestForPaging go --创建表SomeData create table SomeData ( id int primary key, name varcha

求mysql 大数据量问题解决方法?

问题描述 求mysql 大数据量问题解决方法? 一个mysql的数据表(大概有50000+)的数据,其中有一个字段的类型是blob的,存着相当大的二进制数据(大概有50k以上),有时候检索某个字段或者只是查询某个总共有几条数据就要相当长的时间,求有什么办法解决吗? 解决方案 把你经常需要查询的字段建立索引. 解决方案二: blob放在服务器上,然后用mysql记录它存放在服务器的地址.每次查就是根据地址来服务器取数据 解决方案三: MySQL数据库如何解决大数据量存储问题关于mysql大数据量分

MySQL大数据量时提高分页效率

我的这段代码是大数据量时提高分页的效率的测试代码 --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库"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','第

mysql limit大数据量分页优化方法

Mysql的优化是非常重要的.其他最常用也最需要优化的就是limit.Mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降. 同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的. 网上也很多关于limit的五条优化准则,都是翻译自Mysql手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优

ibatis中,用什么方式查询分页效率高?

问题描述 ibatis中,用什么方式查询分页效率高? 我的数据量比较大. 解决方案 ibatis 又不是数据库,它又不知道如何分页..他只是一个sql builder比如mysql里面的分页是用limit offset来做的,你就用ibatis写一个limit offset好了其它类型的数据库以此类推.与其说分页的效率,不如说是你sql语句查询的效率如何,最简单看有查询有没有用到索引,在mysql里面用explain select xxxx from xxx where解决方案二:三层嵌套是or

MySQL大数据量快速分页实现

般刚开始学SQL语句的时候,会这样写 代码如下:  代码如下 复制代码 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下:  代码如下 复制代码 SELECT * FROM table ORDER BY id LIMIT 1000000, 10; 也许耗费几十秒 网上很多优化的方法是这样的 代码如下:  代码如下 复制代码 SELECT * FROM table WHERE id >= (SELECT

mysql limit 大数据量分页优化方法

Mysql的优化是非常重要的.其他最常用也最需要优化的就是limit.Mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降. 同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的. 网上也很多关于limit的五条优化准则,都是翻译自Mysql手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优

MySQL单表百万数据记录分页性能优化技巧_Mysql

测试环境: 先让我们熟悉下基本的sql语句,来查看下我们将要测试表的基本信息 use infomation_schema SELECT * FROM TABLES WHERE TABLE_SCHEMA = 'dbname' AND TABLE_NAME = 'product' 查询结果: 从上图中我们可以看到表的基本信息: 表行数:866633 平均每行的数据长度:5133字节 单表大小:4448700632字节 关于行和表大小的单位都是字节,我们经过计算可以知道 平均行长度:大约5k 单表总大