sql >> Database >  >> RDS >> Mysql

Hoe het opslaan en ophalen van een enorme lijst in php optimaliseren?

  1. Paginering / Lazy-loading

    Laad nooit alle items tegelijk. Laat ze stapsgewijs laden. Een voorbeeld uit de praktijk zijn Facebook en Twitter. Het laadt slechts een bepaald aantal items, en wanneer u de onderkant bereikt of op "meer laden" klikt, laadt het de volgende N items of Google, die slechts N items per pagina toont van een miljard mogelijke resultaten.

  2. Gebruik JSON

    Tegenwoordig zie ik nog steeds mensen geformatteerde HTML retourneren in AJAX-verzoeken - doe dat niet. Laat uw server de eerste pagina laden (die initiële HTML heeft) en de rest in JSON via AJAX. Laat een sjabloonscript aan de clientzijde de HTML voor u maken wanneer de JSON-gegevens binnenkomen. Dit bespaart u bandbreedte en downloadtijd.

  3. Compressie gebruiken

    Het is vrij duidelijk waarom je compressie zou moeten gebruiken.

  4. Laad alleen de vereiste velden in SQL

    Vaak laad je alle kolommen omdat "ze ooit nuttig kunnen zijn" - nee. Als u een set bijnamen wilt laden, laat SQL dan alleen de bijnamen laden. Natuurlijk is het primaire sleutelveld altijd vereist voor het koppelen, dus in dit geval 2 kolommen.

En aangezien het slechts een 1-op-1 relatie is tussen de bijnaam en de persoon, sla het op in dezelfde tabel. Het is niet nodig dat het in een andere tabel staat. Dit bespaart u een JOIN-bewerking.



  1. Grootste N-records selecteren in X-groepen

  2. MySQL:permanent wachten op vergrendeling van tabelmetagegevens

  3. Doctrine/Symfony-querybuilder voeg selectie toe aan linker join

  4. Fix Waar gebruiken; Tijdelijk gebruiken; Bestandssorteren gebruiken