Maison  >  Article  >  base de données  >  MySQL améliore l'efficacité de la pagination des données

MySQL améliore l'efficacité de la pagination des données

黄舟
黄舟original
2017-02-20 11:48:311222parcourir

[Introduction] Ce code est un code de test pour améliorer l'efficacité de la pagination lorsqu'il y a une grande quantité de données - Améliorer l'efficacité de la pagination : lisez uniquement les données d'affichage lors de la pagination, vous devez créer une base de données "TestForPaging " dans la base de données, utilisez d'abord TestForPaginggo- -Create table SomeDatacreate table SomeData(id int

Mon code est un code de test pour améliorer l'efficacité de la pagination lorsqu'il y a une grande quantité de données
--Améliorer la pagination efficacité : lisez uniquement les données d'affichage lors de la mise en œuvre de la pagination. Vous devez d'abord créer la base de données "TestForPaging" dans la base de données

use TestForPaging
go

--Créer une table SomeData

create table SomeData
(
id int primary key,
name varchar(30) null,
description text
)
go

--Insérer des données

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

--Nombre total d'entrées de données

select count(*) from SomeData
go

--Ajouter un niveau de données à chaque enregistrement

select name,description,ROW_NUMBER() over(order by id desc)as dataLevel from SomeData
go

--Afficher le niveau de données spécifié Entrées de données entre

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

--Implémenter la procédure stockée pour afficher les entrées de données entre les niveaux de données spécifiés

create procedure GetDataPaged
(
@startRowIndex int,
@maximumRows int,
@sort varchar
)
AS

--Assurez-vous de spécifier le tri

if len(@sort)=0
set @sort='id'

--Requête avec paramètres

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

Ce qui précède est le contenu de MySQL pour améliorer l'efficacité de la pagination des données. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www .php.cn)


!
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn