Maison > Article > base de données > Comment améliorer l'efficacité de la pagination des données dans MySQL
[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!