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

Come ottimizzare l'archiviazione e il recupero da un enorme elenco in php?

  1. Impaginazione / Lazy-loading

    Non caricare mai tutti gli articoli in una volta. Falli caricare in modo incrementale. Un esempio di vita reale sarebbe Facebook e Twitter. Carica solo una determinata quantità di elementi, quindi quando raggiungi il fondo o fai clic su "carica altro", carica gli N elementi successivi o Google, che mostra solo N elementi per pagina su un miliardo di risultati possibili.

  2. Usa JSON

    In questi giorni, vedo ancora persone che restituiscono HTML formattato nelle richieste AJAX - non farlo. Fai in modo che il tuo server carichi la pagina iniziale (che ha l'HTML iniziale) e il resto in JSON tramite AJAX. Fai in modo che uno script di modelli lato client crei l'HTML per te quando arrivano i dati JSON. Ciò consente di risparmiare larghezza di banda e tempo di download.

  3. Usa compressione

    È abbastanza ovvio perché dovresti usare la compressione.

  4. Carica solo i campi obbligatori in SQL

    Spesso carichi tutte le colonne perché "potrebbero essere utili un giorno" - no. Se vuoi caricare un set di nickname, fai in modo che SQL carichi solo i nickname. Ovviamente, il campo della chiave primaria è sempre obbligatorio per l'associazione, quindi in questo caso 2 colonne.

E visto che è solo una relazione 1 a 1 tra il nickname e la persona, salvalo nella stessa tabella. Non c'è bisogno che sia in un'altra tabella. Questo ti salva da un'operazione JOIN.