sql >> Database teknologi >  >> RDS >> Mysql

Hvordan optimerer man lagring og hentning fra en enorm liste i php?

  1. Søgning / Lazy-loading

    Indlæs aldrig alle varer på én gang. Få dem til at indlæse trinvist. Et virkeligt eksempel ville være Facebook og Twitter. Den indlæser kun et bestemt antal varer, og når du når bunden eller klikker på "indlæs flere", indlæser den de næste N varer eller Google, som kun viser N varer pr. side ud af en milliard mulige resultater.

  2. Brug JSON

    I disse dage ser jeg stadig, at folk returnerer formateret HTML i AJAX-forespørgsler - gør det ikke. Få din server til at indlæse startsiden (som har initial HTML), og resten i JSON via AJAX. Få et script til skabeloner på klientsiden til at oprette HTML'en for dig, når JSON-dataene ankommer. Dette sparer dig for båndbredde og downloadtid.

  3. Brug komprimering

    Det er ret indlysende, hvorfor du skal bruge komprimering.

  4. Indlæs kun de påkrævede felter i SQL

    Ofte indlæser du alle kolonner, fordi "de kan være nyttige en dag" - nej. Hvis du vil indlæse et sæt kaldenavne, skal SQL kun indlæse kaldenavnene. Det primære nøglefelt er selvfølgelig altid påkrævet for parring, så i dette tilfælde 2 kolonner.

Og når du ser, at det kun er et 1-til-1-forhold mellem kaldenavnet og personen, skal du gemme det i samme tabel. Der er ikke meget behov for, at det er i en anden tabel. Dette sparer dig for en JOIN-operation.



  1. PL/SQL:konvertere eksplicit markør til ref markør?

  2. hvordan gemmer man pdf-rapporter automatisk i databasen?

  3. system() returnerer -1, errno=10, når du er logget på Oracle

  4. Kan Hibernate arbejde med MySQL's ON DUPLICATE KEY UPDATE-syntaks?