Ich habe mich gefragt, was der Grund für die Paginierung ist. Wird es verwendet, weil es die Server entlastet, da wir die Anzahl der pro Seite zurückgegebenen Zeilen technisch begrenzen würden?
Ich wollte etwas ohne Paginierung machen, aber da ich neu in diesem Bereich bin (ich bin ein Amateur), begann ich mich zu fragen, ob es technisch in Ordnung ist oder nicht.
php
pagination
Sam Khan
quelle
quelle
Antworten:
Es gibt eine Reihe von Gründen für die Paginierung. Die Reduzierung der Serverlast ist nur einer. Doch Stephen Orr wirft einen wichtigen Punkt - Sie müssen noch zuerst die Menge an Daten zu finden. Sie müssen sicherstellen, dass diese Abfrage schnell ist und Ihren Server nicht übermäßig lädt.
Andere Gründe sind:
In beiden Fällen möchten Sie den Benutzer nicht warten lassen - entweder auf Daten, die er nicht anzeigen wird, oder auf alle Daten, wenn er mit der Verarbeitung eines Teils davon Daten erhalten könnte.
quelle
Dies variiert je nach Implementierung.
Dies beschleunigt das Rendern einer Seite, verringert jedoch nicht unbedingt die Belastung des Servers. Die meisten naiven Paginierungsalgorithmen müssen zuerst eine Abfrage durchführen, um zu entscheiden, wie viele Seiten vorhanden sein sollen, und dann erneut abfragen, um die "ausgelagerte" Ergebnismenge zu erhalten.
quelle
Der größte Wert, den Sie durch die Paginierung erzielen, besteht darin, die Geschwindigkeit Ihrer Anwendung zu steigern, indem Sie:
1 - Begrenzung der zwischen dem Client und dem Server übertragenen Daten. Es macht keinen Sinn, 1000000 Kunden zu lesen, wenn der Benutzer 10 von ihnen sucht.
2- Beschleunigen Sie die Abfrageleistung erheblich, indem Sie nur Zeilen abrufen, die in die Ansicht eines Benutzers passen. Es macht keinen Sinn, 1000000 Kunden zu lesen, wenn der Benutzer die ersten 10 Kunden betrachtet.
3 - Paginierung hilft, indem mehr frische Daten bereitgestellt werden. Wenn Ihre Anwendung viele Datenzeilen anzeigt und Ihre Anwendungsdomäne viele Aktualisierungen der Datenzeilen in der angezeigten Tabelle erfordert, sind die Daten in einigen Zeilen wahrscheinlich zu dem Zeitpunkt, zu dem Sie auf Seite 20 der Seitenliste gehen, vorhanden geändert. Stellen Sie sich eine Anwendung vor, die Aktienkurse oder verfügbare Zimmer in einem Hotel liest. Das Abrufen alter Daten und das Ablegen auf dem Client ist nutzlos.
Die Paginierung ist eine Strategie, die in Kombination mit der Filterung und Ihrem Verständnis der Anforderungen des Endbenutzers aus dem jeweiligen Szenario (was voraussichtlich zu einem guten Design führt, um diese Anforderungen zu erfüllen) die Anwendung erheblich verbessert, insbesondere wenn mehrere Benutzer auf die Datenbank zugreifen gleichzeitig.
Paginierung ist nicht immer trivial zu programmieren. In einigen Fällen ist es einfach, aber manchmal ist das Schreiben sehr komplex, sodass die SQL-Abfrage ausgeführt wird, ohne einen vollständigen Tabellenscan durchzuführen. Dies hängt natürlich von Ihren Indizes, der Filterbedingung und Ihrer Where-Anweisung ab.
quelle
Die Paginierung ist für mich die Mutter aller vorzeitigen Optimierungen. Es ist absolut in Ordnung, Ihre Website ohne Paginierung zu schreiben.
Wenn Sie nach der Veröffentlichung feststellen, dass Sie zu viele Daten in einem Anruf laden oder dass Ihre Benutzer auf Informationen warten müssen, die sie möchten, weil sie damit beschäftigt sind, Daten zu laden, die sie nicht möchten, schreiben Sie eine Ajax-Lösung Dadurch wird die Seite nur geladen, wenn Personen nach unten scrollen (siehe: Twitter, Tumblr, Google-Bildersuche).
Bearbeiten: Der zweite Absatz oben wurde mit der Annahme geschrieben, dass eine häufige Antwort lautet: "Wenn Sie jedoch wissen, dass Sie irgendwann paginieren werden, können Sie dies auch frühzeitig tun, anstatt Zeit damit zu verschwenden, etwas zu entwickeln, das Sie werfen werden." Weg."
Ich bin nicht nur die Mutter aller vorzeitigen Optimierungen, sondern denke auch, dass Paginierung ein UX-Albtraum ist und dass es bessere Lösungen gibt, die nicht viel zusätzliche Entwicklung auf der gesamten Seite erfordern würden.
Trotz der Anzahl der Abstimmungen lasse ich diese Antwort hier, weil ich zu dem Gefühl stehe, auch wenn es vielleicht nicht mein bestes Schreiben war.
quelle