Po pierwsze:pełne skanowanie tabeli nie zawsze jest diabłem.
- Sprawdź w swoim planie wyjaśnień koszty zapytania bez paginacji
- Sprawdź to w swoim rozwiązaniu stronicowania
Również podczas testów staraj się używać dużych tabel z wysokimi wartościami paginacji
Dodatkowe punkty:
- Paginacja bez zamawiania jest zawsze niebezpieczna, ponieważ nie możesz być pewien, w jakiej kolejności Oracle podaje Twój wynik na następną „stronę” -> możliwe, nie powtarzalne wyniki
- Również w uporządkowanym wyniku możliwe jest, że „nowy wpis” na stronie przed bieżącym „widokiem” wpłynie na „następną stronę”
Poza tym, że lubisz "przechowywać" zapytanie w DB i pobierać dane strona po stronie, aż coś się zmieni w podkreślonych danych?