2008-09-20 14 views

Antwort

10

Verwenden Sie das Limit in SQL! Jedes Mal!

Andernfalls werfen Sie erheblich mehr Daten um, als Sie benötigen, was Ihre Skripte unnötig verlangsamt und zu Skalierbarkeitsproblemen führt, wenn die Datenmenge in Ihren Tabellen zunimmt.

Limit ist dein Freund!

10

Verwenden Sie Limit - Sie möchten nicht Massen von Daten aus der Datenbank in die Skript-Engine übertragen, wenn Sie es vermeiden können.

0

Persönlich würde ich die Abfrage verwenden, um es zu tun. Offensichtlich kann sich das ändern, wenn Sie mit AJAX und so umgehen, aber nur ein grundlegendes Limit in der Abfrage zu setzen und die Ergebnisse auszugeben ist einfach und effizient.

2

Wenn Sie nur mit einem DBMS arbeiten wollen, das dies unterstützt, dann tun Sie dies auf dem DBMS. Wenn Sie zukünftig andere DBMS unterstützen wollen, dann geben Sie eine Schicht dazwischen an, die abhängig vom aktuellen DBMS arbeiten kann.

2

Sie können einige vorhandene Bibliotheken verwenden, Ihnen zu helfen:

Birne :: Pager kann mit der Ausgabe helfen, und die Datenbank Verkehr nur zu begrenzen, was Sie benötigen, können Sie einen Wrapper in den Beispielen verwendet werden, solange komm damit.

Hier ist ein tutorial ich gerade gegoogelt, dass alles ... hat

1

Zusätzlich LIMIT zu verwenden, würde ich vorschlagen, eine explizite WHERE Klausel des Offset, zu setzen und die Ergebnisse der Reihenfolge auf dieser Spalte. Beispiel:

--- First page (showing first 50 records) 
SELECT * FROM people ORDER BY id LIMIT 50 
--- Second page 
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50 

Dadurch wird die Anzahl der zurückgegebenen Zeilen auf diejenigen beschränkt, die innerhalb des gewünschten Bereichs liegen. Unter Verwendung des WHERE-Ansatzes (im Gegensatz zu einem LIMIT-Satz mit einem separaten Versatz, beispielsweise LIMIT 50,50) können Sie effektiv mit Blättern durch Aufzeichnungen mit anderen natürlichen Schlüsseln umgehen, z. alphabetisch nach Name oder nach Datum sortiert.

Verwandte Themen