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

Comment améliorer l'efficacité de la pagination des données dans MySQL

巴扎黑
巴扎黑original
2017-03-19 10:54:171224parcourir

[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
utiliser TestForPaging
go
--Create table SomeData
create table SomeData
(
id int clé primaire,
nom varchar( 30) null,
texte de description
)
go
--Insérer des données
insérer dans les valeurs SomeData(1,' num1','Article 1')
aller
insérer dans les valeurs SomeData(2,'num2','Article 2')
aller
insérer dans les valeurs SomeData(3,'num3',' Article 3')
aller
insérer dans les valeurs SomeData(4,'num4','Article 4')
aller
insérer dans les valeurs SomeData(5,'num5','Article 5')
go
--data Nombre total d'entrées
select count(*) from SomeData
go
--Ajoutez un niveau de données à chaque enregistrement
select name,description,ROW_NUMBER( ) over(order by id desc)as dataLevel from SomeData
go

--Afficher les entrées de données entre les niveaux de données spécifiés
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émente la procédure stockée pour visualiser les entrées de données entre les niveaux de données spécifiés
créer une procédure GetDataPaged
(
@startRowIndex int,
@maximumRows int,
@sort varchar
)
AS
--assurez-vous de spécifier sort
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 détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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