MySQL提高分頁效率

2022-09-29 05:21:14 字數 1506 閱讀 4638

下面就是大資料量時提高分頁的效率的測試**,分享給大家。

--提高分頁效率:實現分頁時只讀取顯示資料,需要先在資料庫建立資料庫「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條')

goinsert into somedata values(2,'num2','第2條')

goinsert into somedata values(3,'num3','第3條')

goinsert into somedata values(4,'num4','第4條')

goinsert 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 datalev程式設計客棧el from somedata)

as datawithleverl where datalevel between 2 and 4

go--實現檢視指定的資料級別間的資料條目的儲存過程

create sxuzwguuprocedure getdatapaged

(@startrowindex int,

@maximumrows int,

@sort varchar)as

--確保指定sort

if len(@sort)=0

set @sort='idsxuzwguu'

--帶引數的查詢

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本文標題: mysql提高分頁效率

本文位址: /shujuku/mysql/132004.html

mysql 分頁效率 MySQL提高分頁效率

提高分頁效率 實現分頁時只讀取顯示資料,需要先在資料庫建立資料庫 testforpaging use testforpaging go 建立表somedata create table somedata id int primary key,name varchar 30 null,descript...

使用子查詢提高MySQL分頁效率

今天在老王的部落格中看到了一篇 驗證使用子查詢提高mysql分頁效率 的文章,很有收穫,總結分享之 對於有大資料量的mysql表來說,使用limit分頁存在很嚴重的效能問題。例如老王做的測試,拿乙個接近一千萬行記錄的表,進行查詢從第1000000之後的30條記錄 sql 1 平均用時6.6秒 sel...

使用子查詢提高MySQL分頁效率 limit

2 offset大的時候。select from yanxue8 visit limit 10000,10 多次執行,時間保持在0.0187左右 select from yanxue8 visit where vid select vid from yanxue8 visit order by vi...