Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL verbessert die Daten-Paging-Effizienz

黄舟
Freigeben: 2017-02-20 11:48:31
Original
1248 Leute haben es durchsucht

[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
Nach dem Login kopieren

--Tabelle SomeData erstellen

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

--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
Nach dem Login kopieren

--Gesamtzahl der Dateneinträge

select count(*) from SomeData
go
Nach dem Login kopieren

--Fügen Sie jedem Datensatz eine Datenebene hinzu

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

--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
Nach dem Login kopieren

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

create procedure GetDataPaged
(
@startRowIndex int,
@maximumRows int,
@sort varchar
)
AS
Nach dem Login kopieren

--Stellen Sie sicher, dass Sie die Sortierung angeben

if len(@sort)=0
set @sort='id'
Nach dem Login kopieren

--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
Nach dem Login kopieren

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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage