febbraio 2004 - Posts

Visto l'interesse che suscita l'argomento, anch'io dico la mia!

Esistono sostanzialmente due approcci al problema:

- Utilizzare strumento che gestiscono la paginazione
- Implementare la paginazione a livello di database

A mio avviso la seconda soluzione è da preferire in quanto garantisce quasi sempre prestazioni migliori ed è totalmente svincolata dall'ambiente di sviluppo che si utilizza.
Il vero problema è che non tutti i DBMS supportano tale funzionalità: per esempio Oracle ha il ROWNUM che consente di gestire in maniera abbastanza agevole la paginazione. Il termine "abbastanza" è d'obbligo poiché il ROWNUM non è proprio la "manna dal cielo", ma richiede spesso query innestate per ottenere il risultato sperato
SELECT Intestazione FROM
    (SELECT ROWNUM RN,* FROM clienti
     WHERE ROWNUM <= 20)
WHERE RN >= 10
Il problema si complica ulteriormente se si utilizza un database come SQL Server che non ha funzioni simili a ROWNUM. In questo caso si è costretti a ricorrere ad uno stratagemma che non tutti conoscono e che risolve la paginazione in modo abbastanza soddisfacente:
SELECT TOP 20 * FROM
    (SELECT TOP 20 * FROM
        (SELECT TOP 120 *
         FROM clienti
         ORDER BY intestazione)
    AS tmpTable1
    ORDER BY intestazione DESC)
AS tmpTable2
ORDER BY intestazione ASC
Se si analizza questa query si vedrà che estrae i record relativi alla sesta pagina in un set di pagine di 20 record ciascuna: ecco la paginazione!

In ogni caso il problema è più complesso di quanto non sembri e consiglio di approfondirlo leggendo il mio articolo Gestire la paginazione dei dati.

 


 


Link: http:\\www.braidi.com

Esce oggi il numero di Febbraio di Windows & .NET Magazine che riporta il mio articolo sull'integrazione dei sistemi.
L'analisi di un caso pratico per sfruttare le transazioni residenti su sistemi di tipo 3270 da applicazioni dipartimentali o Web.

L'articolo può essere letto dal mio sito ...

 

Fatemi sapere cosa ne pensate!!

 


Link: http:\\www.braidi.com

Apre uffivialmente la mia home page in cui si possono trovare e leggere tutti i miei articoli, i link e le risorse utili per tutti i programmatori.

Visitatelo!


Link: http:\\www.braidi.com