L'impaginazione riduce il carico del server? (teoria)

11

Mi stavo chiedendo quale sia la ragione dietro l'impaginazione? Viene utilizzato perché riduce il carico sui server poiché limiteremmo tecnicamente la quantità di righe restituite per pagina?

Volevo fare qualcosa senza impaginazione ma dato che sono nuovo di questo (sono un dilettante) ho iniziato a chiedermi se è OK tecnicamente o no.

    
posta Sam Khan 31.10.2011 - 13:08
fonte

4 risposte

10

Ci sono una serie di motivi per avere l'impaginazione, riducendo il carico del server è solo uno. Tuttavia, Stephen Orr solleva un punto valido - devi ancora trovare prima la quantità di dati. Devi assicurarti che la richiesta che sia veloce e che non carichi indebitamente il tuo server.

Altri motivi includono:

  • Riduzione della quantità di dati restituiti al client in un colpo solo. Se disponi di molti dati questo potrebbe richiedere una notevole quantità di tempo e occupare molta memoria.
  • L'utente spesso non è interessato a tutti i dati, ma solo il più recente (per esempio). Restituendo solo un paio di pagine di dati non ottieni dati che l'utente non vedrà mai.

In entrambi i casi, non vuoi che l'utente attenda, né per i dati che non intendono visualizzare, né per tutti i dati quando potrebbero ottenerne uno con l'elaborazione di alcuni di essi.

    
risposta data 31.10.2011 - 13:16
fonte
3

Varia a seconda dell'implementazione.

Velocizzerà il rendering di una pagina, ma non ridurrà necessariamente il carico sul server. Gli algoritmi di impaginazione più ingenui devono prima eseguire una query per decidere quante pagine devono essere presenti, quindi eseguire nuovamente la query per ottenere il set di risultati "impaginati".

    
risposta data 31.10.2011 - 13:21
fonte
1

Il maggior valore che ottieni dall'impaginazione sta aumentando la velocità della tua applicazione:

1 - Limitazione dei dati trasmessi tra il client e il server. Non ha senso leggere 1000000 clienti se l'utente cerca 10 di essi.

2- Accelerare significativamente le prestazioni della query recuperando solo le righe che possono rientrare nella vista dell'utente. Non ha senso leggere 1000000 clienti se l'utente guarderà i primi 10 clienti.

3 - L'impaginazione aiuta fornendo più dati freschi. Se la tua applicazione mostra molte righe di dati e il tuo dominio dell'applicazione richiede un sacco di aggiornamenti alle righe di dati nella tabella visualizzata, è probabile che nel momento in cui vai a pagina 20 dell'elenco delle pagine, i dati su alcune delle righe sarebbero stati cambiato. Pensa a un'applicazione che legge i prezzi delle azioni o le camere disponibili in un hotel. Recuperare vecchi dati e metterli sul client non è di alcuna utilità.

L'impaginazione è una strategia che in combinazione con il filtraggio e la comprensione di come l'utente finale necessita di uno specifico scenario (che dovrebbe portare a un buon design per soddisfare questa esigenza) migliorerà notevolmente l'applicazione specialmente quando vari utenti colpire il database contemporaneamente.

L'impaginazione non è sempre banale da programmare. In alcuni casi è semplice ma a volte è molto complesso scrivere in modo che la query SQL venga eseguita senza eseguire una scansione completa della tabella. Ciò dipende ovviamente dagli indici, dalle condizioni del filtro e dalla dichiarazione Where.

    
risposta data 01.11.2011 - 19:31
fonte
-4

L'impaginazione, a mio avviso, è la madre di tutte le premature ottimizzazioni. È assolutamente ok scrivere il tuo sito senza impaginazione.

Se dopo il rilascio rilevi che stai caricando troppi dati in una chiamata o che i tuoi utenti devono attendere le informazioni che desiderano perché è impegnato a caricare i dati che non desiderano, andare avanti e scrivere una soluzione Ajax che carica solo la pagina mentre le persone scorrono verso il basso (vedi: Twitter, Tumblr, Ricerca immagini Google).

Modifica: Il secondo paragrafo sopra è stato scritto con l'ipotesi che una risposta comune sarebbe "ma se sai che stai per impaginare ad un certo punto, puoi anche farlo in anticipo, piuttosto che perdere tempo a sviluppare qualcosa che sei andando a buttare via. "

Oltre ad essere madre di tutte le ottimizzazioni premature, penso che l'impaginazione sia un incubo UX e che ci sono soluzioni migliori che non richiede molto sviluppo extra sulla parte superiore della pagina.

Nonostante il numero di downvotes, sto lasciando questa risposta qui perché sostengo il sentimento, anche se potrebbe non essere stato il mio miglior scritto.

    
risposta data 31.10.2011 - 13:23
fonte

Leggi altre domande sui tag