Heim > Datenbank > MySQL-Tutorial > MySQL-Paging-Problem unter Millionen von Daten

MySQL-Paging-Problem unter Millionen von Daten

藏色散人
Freigeben: 2019-04-17 17:23:34
nach vorne
3765 Leute haben es durchsucht

Wir verwenden während des Entwicklungsprozesses häufig Paging. Die Kerntechnologie besteht darin, Limit zum Lesen von Daten zu verwenden. Während des Tests zur Verwendung des Limits für Paging wurden die folgenden Daten erhalten:

select * from news order by id desc limit 0,10
耗时0.003秒
select * from news order by id desc limit 10000,10
耗时0.058秒
select * from news order by id desc limit 100000,10 
耗时0.575秒
select * from news order by id desc limit 1000000,10
耗时7.28秒
Nach dem Login kopieren

Wir waren überrascht, dass die Abfragegeschwindigkeit umso langsamer war, je größer der Paging-Startpunkt von MySQL bei großem Datenvolumen war. Die Abfragegeschwindigkeit für 1 Million Artikel beträgt bereits 7 Sekunden. Das ist ein Wert, den wir nicht akzeptieren können!

Verbesserungsplan 1

select * from news 
where id >  (select id from news order by id desc  limit 1000000, 1)
order by id desc 
limit 0,10
Nach dem Login kopieren

Die Abfragezeit beträgt 0,365 Sekunden, die Effizienzverbesserung ist sehr offensichtlich! ! Was ist das Prinzip? ? ?

Wir haben Bedingungen verwendet, um die ID zu filtern (wählen Sie die ID aus der Nachrichtenreihenfolge nach ID-Abgrenzungslimit 1000000, 1) und haben Sie nur das ID-Feld abgefragt des Abfrageaufwands!

Verbesserungsplan 2

Geeignet für Systeme mit fortlaufenden IDs, extrem schnell!

select * from news 
where id  between 1000000 and 1000010 
order by id desc
Nach dem Login kopieren

ist nicht für Abfragen mit Bedingungen und diskontinuierlichen IDs geeignet. Sehr schnell!

Das obige ist der detaillierte Inhalt vonMySQL-Paging-Problem unter Millionen von Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:hcoder.net
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