Stronicowanie wyników publikowanych na stronie internetowej można zrealizować na wiele sposobów. Niestety — żaden z nich nie jest idealny. Mówiąc o paginacji, mam na myśli proces pobierania danych z tabeli w bazie danych i przekazywania ich do frontendu, aby wyświetlić je jako tabelę podzieloną na strony. W większości aplikacji użytkownik może wybrać, ile wierszy ma zawierać jedna strona, przechodzić między stronami przyciskami „następna” i „poprzednia”, albo wpisać dowolny numer strony mieszczący się w zakresie dostępnych danych.
Czytaj dalej „Paginacja to oszustwo. Użytkownik i tak jej nie potrzebuje.”Tag: SQL
Dlaczego paginacja z użyciem OFFSET to zły pomysł (i jak robić to lepiej).
Ostatnio wpadłem na bardzo ciekawy stary kod w języku Java (prawie 20-letni), w którym paginacja była wykonywana z użyciem Result Set i scrollowaniem wyników zapytania. Kod jest bardzo generyczny i służy do wyciągania danych z wielu tabel i prezentowaniu tych danych na GUI wraz ze stronicowaniem. Z tego powodu jest dość skomplikowany. Udało się zmienić ten kod na zapytania z użyciem SQL offset oraz limit gdzie definiujemy wprost ile wyników chcemy pobrać bezpośrednio z bazy danych i od którego momentu. Jak się okazuje to rozwiązanie też nie jest uznawane za idealne.
Czytaj dalej „Dlaczego paginacja z użyciem OFFSET to zły pomysł (i jak robić to lepiej).”