Heim >Datenbank >MySQL-Tutorial >MySQL verbessert die Daten-Paging-Effizienz

MySQL verbessert die Daten-Paging-Effizienz

黄舟
黄舟Original
2017-02-20 11:48:311324Durchsuche

[Einführung] Dieser Code von mir ist ein Testcode zur Verbesserung der Paging-Effizienz bei großen Datenmengen. - Verbessern Sie die Paging-Effizienz: Lesen Sie beim Paging nur die Anzeigedaten. Sie müssen eine Datenbank "TestForPaging" erstellen " Verwenden Sie in der Datenbank zuerst TestForPaginggo- -Create table SomeDatacreate table SomeData(id int

Mein Code ist ein Testcode zur Verbesserung der Paging-Effizienz bei großen Datenmengen
--Paging verbessern Effizienz: Lesen Sie nur die Anzeigedaten, wenn Sie Paging implementieren. Sie müssen zuerst die Datenbank „TestForPaging“ in der Datenbank erstellen

use TestForPaging
go

--Tabelle SomeData erstellen

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

--Daten einfügen

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

--Gesamtzahl der Dateneinträge

select count(*) from SomeData
go

--Fügen Sie jedem Datensatz eine Datenebene hinzu

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

--Anzeigen der angegebenen Datenebene Dateneinträge zwischen

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

--Implementieren Sie die gespeicherte Prozedur zum Anzeigen von Dateneinträgen zwischen angegebenen Datenebenen

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

--Stellen Sie sicher, dass Sie die Sortierung angeben

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

--Abfrage mit Parametern

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

Das Obige ist der Inhalt von MySQL Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn