Lorenzo
Braidi TIPS - La paginazione |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ho visto su alcuni blog tecnici che il
mio articolo sulla paginazione dei dati pubblicato su Computer
Programming n. 140 (Novembre
2004) sta facendo discutere. Innanzitutto riporto di seguito la schematizzazione della soluzione che propongo nell'articolo così come l'ha rielaborata Riccardo Golia nel suo blog
I principali dubbi che ho avuto modo di leggere riguardano in particolare la possibilità di ottenere il numero totale dei record che fanno parte del resultset che si vuole trattare. Perché si possa ottenere tale informazione è necessario eseguire a priori una select count che estragga il dato e successivamente si procederà con l'estrazione della pagina desiderata. Faccio notare che, come detto anche
nell'articolo, se non si conosce a priori il numero totale dei record
coinvolri, non è possibile sfruttare in maniera ottimale la soluzione
descritta. In un commento di uno dei blog che ho letto, poi, veniva proposta una soluzione alternativa. La soluzione prevede sostanzialmente di estrarre con una query tutti i record che si vogliono "saltare" e con una seconda query di individuare quelli della pagina richiesta. SELECT TOP 20 * La soluzione è senz'altro corretta, ma si deve prestare attenzione al fatto che essa funziona correttamente solo se si utilizza come criterio di ordinamento la chiave della tabella o un suo equivalente. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tutti i
diritti riservati |