Wie optimiere ich das Speichern und Abrufen von einer riesigen Liste in PHP?

Vielen Dank im Voraus für die Hilfe,

Ich habe eine Liste von einer Million Namen und Spitznamen, jeder Name hat nur einen Spitznamen. Jeder Name hat seinen entsprechenden Spitznamen (auch wenn es der gleiche ist)

  • Best Practice Daten Design in Firebase
  • Wie benutzt man typeahead.js mit einer großen Datenbank
  • Speichern von JS-Arrays und Objekten in einer Datenbank
  • Ist es möglich, auf eine SQLite-Datenbank aus JavaScript zuzugreifen?
  • So speichern Sie Daten aus einem HTML-Formular in eine Datenbanktabelle in WordPress?
  • Rasteransicht mit Tisch in asp.net
  • Ich verwende normalerweise PHP und MySQL, um Daten in Zeilen zu speichern und dann eine select-Anweisung zu holen. Ich berühre dich wegen des Volumens, das diese Methode nicht optimiert werden kann.

    Es wird ein Skript erstellt, das jedes Mal die entsprechenden Spitznamen von etwa 600 Namen aus der Million erhalten muss, das wird bei jedem Userpageload ausgeführt.

    Ich habe Erfahrung in der Arbeit mit PHP und MySQL

    Ich kann die Daten auf jede beliebige Art und Weise konstruieren, einfacher Text, mysql oder etwas anderes.

    Was ist der beste Weg, um diesen Datensatz zu speichern und zu holen?

  • Lesen und Formatieren Zugriffsdaten
  • Erzeugen und Speichern einer Liste von ParseObjects innerhalb einer Parse.Cloud.httpRequest in einer Cloud-Funktion
  • Wie man eine Verbindung mit der MySQL-Datenbank im Telefonbereich herstellt
  • Blackberry - Fügen Sie vorbesetzte sqlite Datenbank hinzu
  • Best Practice Daten Design in Firebase
  • Welcher Code-Ansatz würde es Benutzern erlauben, drei optionale Variablen in PHP / MySQL anzuwenden? [abgeschlossen]
  • 2 Solutions collect form web for “Wie optimiere ich das Speichern und Abrufen von einer riesigen Liste in PHP?”

    1. Paginierung / Lazy-loading

      Laden Sie niemals alle Artikel auf einmal. Lassen Sie sie schrittweise laden. Ein echtes Leben Beispiel wäre Facebook und Twitter. Es lädt nur eine Menge von Artikeln, dann, wenn Sie den Boden erreichen oder klicken Sie auf "mehr laden", lädt es die nächsten N Elemente oder Google, die nur zeigt N Elemente pro Seite aus einer Milliarde mögliche Ergebnisse.

    2. Verwenden Sie JSON

      In diesen Tagen sehe ich immer noch Leute, die formatierte HTML in AJAX-Anfragen zurückgeben – machen Sie das nicht. Haben Sie Ihren Server laden die erste Seite (die erste HTML), und der Rest in JSON über AJAX. Haben Sie ein Client-Side-Template-Skript erstellen Sie das HTML für Sie, wenn die JSON-Daten ankommen. Das spart Ihnen Bandbreite und Downloadzeit.

    3. Verwenden Sie Komprimierung

      Es ist ziemlich offensichtlich, warum Sie Kompression verwenden sollten.

    4. Laden Sie nur die erforderlichen Felder in SQL

      Oftmals laden Sie alle Spalten, weil "sie irgendwann nützlich sein könnten" – nein. Wenn du einen Satz von Spitznamen laden möchtest, hast du nur die Spitznamen. Natürlich ist das Primärschlüsselfeld immer für die Paarung erforderlich, also in diesem Fall 2 Spalten.

    Und wenn man sieht, dass es nur eine 1-zu-1 Beziehung zwischen dem Spitznamen und der Person ist, speichern Sie es in der gleichen Tabelle. Es ist wenig nötig, dass es in einem anderen Tisch ist. Dies erspart dich von einem JOIN-Vorgang.

    Als eggyql erwähnt fügen Sie in Index zu Ihrem Namen Spalte hinzu. Setzen Sie auch eine Begrenzung auf Ihren SQL-Eintrag SELECT name, nickname FROM your_table LIMIT 0, 10

    Lassen Sie uns Javascript Schönheit und nützlich machen.