Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann man das Speichern und Abrufen einer riesigen Liste in PHP optimieren?

  1. Paginierung / Lazy-Loading

    Laden Sie niemals alle Artikel auf einmal. Lassen Sie sie inkrementell laden. Ein Beispiel aus dem wirklichen Leben wäre Facebook und Twitter. Es lädt nur eine festgelegte Anzahl von Artikeln. Wenn Sie dann das Ende erreichen oder auf "Weitere laden" klicken, werden die nächsten N Artikel oder Google geladen, die nur N Artikel pro Seite aus einer Milliarde möglicher Ergebnisse anzeigen.

  2. JSON verwenden

    Heutzutage sehe ich immer noch Leute, die formatiertes HTML in AJAX-Anfragen zurückgeben - tun Sie das nicht. Lassen Sie Ihren Server die Anfangsseite (die Anfangs-HTML enthält) und den Rest in JSON über AJAX laden. Lassen Sie ein clientseitiges Templating-Skript den HTML-Code für Sie erstellen, wenn die JSON-Daten eintreffen. Dadurch sparen Sie Bandbreite und Downloadzeit.

  3. Komprimierung verwenden

    Es ist ziemlich offensichtlich, warum Sie die Komprimierung verwenden sollten.

  4. Lade nur die erforderlichen Felder in SQL

    Oft lädt man alle Spalten, weil „sie eines Tages nützlich sein könnten“ – nein. Wenn Sie eine Reihe von Kurznamen laden möchten, lassen Sie SQL nur die Kurznamen laden. Für das Pairing wird natürlich immer das Primärschlüsselfeld benötigt, also in diesem Fall 2 Spalten.

Und da es nur eine 1-zu-1-Beziehung zwischen dem Spitznamen und der Person gibt, speichern Sie es in derselben Tabelle. Es ist kaum erforderlich, dass es sich in einer anderen Tabelle befindet. Dies erspart Ihnen eine JOIN-Operation.