Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    134

    Paginazione. LIMIT o ciclo FOR?

    Buongiorno a tutti,
    Avrei da porvi un quesito puramente prestazionale non avendo al momento ne voglia ne tempo di fare un serio benchmark a riguardo.
    Dunque dovrei fare una classica ricerca con paginazione dei risultati.

    La query fa una join tra una decina di tabelle circa,anche con diverse aggregazioni e ordinamenti, ed ognuna di questa tabella potrebbe arrivare tranquillamente un domani al milione di record circa. Come risultato invece, conto di tirar fuori un numero medio di 1000/1500 record, non di piu.

    Il mio dubbio sulla paginazione è il seguente:
    Essendo la query abbastanza elaborata conviene utilizzare il classico LIMIT, che però richiede l'esecuzione di DUE query (la prima per calcolare il totale dei record) oppure mi converrebbe eseguire una sola query, fami tornare TUTTI i risultati e, in un ciclo for, far visualizzare solo quelli che mi interessano coerentemente con la pagina che sto visualizzando?

    Quale delle due soluzioni converrebbe per un tempo di risposta migliore? e come impiego di risorse del server?

    Grazie per l'interessamento

  2. #2
    Intuitivamente se estrai tutti i dati dal database, poi li cicli fino all'n-esimo risultato; se ne estrai n li devi ciclare comunque per sciogliere il buffet... Quindi devi comunque ciclarli...
    Il problema però di estarre tanti risultati (se sono tanti tanti) è più grosso... Forse conviene fare una query in più (magari crei una nuova tabella con un solo campo che indica qual'è il massimo, senza che maneggi la tabella più grande due volte)
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.