Originariamente inviato da franzauker
non esiste un modo efficiente per paginare le righe ritornate (se per efficiente intendiamo "magico"), o meglio ci vuole un tipo di indice particolare per il kesimo elemento più grande (esiste per motori specializzati, non mi risulta nè per sql server nè per mysql)
---
La presentazione "a pagine" è inerentemente inefficiente; l'esistenza di un indice ti consente di ordinare le righe, ma nulla più.
O meglio puoi avere risposte "magiche" per il minimo e il massimo, ma non per la paginazione.
Quindi puoi
1) eliminare la paginazione
2) avere un linguaggio sufficientemente potente da mettere in cache un intero db (=> ma ti serve una macchina davvero potente)
3) studiare un metodo "furbo" per marcare le righe, così da fare interrogazioni a range (non il massimo della vita, ma con gli indici tipicamente btree risparmi un po' di attraversamento di foglie)
4) fregartene. considera però che le interrogazioni del tipo limit x,y (su mysql) non sono per nulla efficienti