Ermitteln der Gesamtergebnisse in MySQL-Abfragen für Paginierung mit Offset und Limit
In Paginierungsszenarien ist die Bestimmung der Gesamtzahl der Ergebnisse für die Genauigkeit von entscheidender Bedeutung Seite Berechnungen. Die Verwendung von Offset und Limit zum Abrufen von Daten kann zu Bedenken hinsichtlich der Recheneffizienz führen, wenn versucht wird, die Gesamtzahl aus einer separaten Abfrage zu berechnen.
Um dieses Problem zu beheben, bietet MySQL mit SQL_CALC_FOUND_ROWS eine Lösung. Durch das Hinzufügen dieser Anweisung zu einer Abfrage berechnet die Datenbank die Gesamtzahl der übereinstimmenden Zeilen, ohne sie tatsächlich abzurufen:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE category_id = 1 LIMIT 10 OFFSET 20;
Nach der Ausführung dieser Abfrage berechnet die Datenbank die Gesamtzahl der Zeilen mithilfe einer anderen internen Abfrage wie:
SELECT FOUND_ROWS();
Diese Technik bietet eine effiziente und genaue Methode zur Ermittlung der Gesamtergebniszahl.
Das obige ist der detaillierte Inhalt vonWie kann ich mit OFFSET und LIMIT effizient die Gesamtzeilenzahl in der MySQL-Paginierung ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!