

Java webová aplikace stránkování dat
Ahoj,
chtěl bych se zeptat zkušených jak řešit stránkování dat.
Příklad:
uživatel má v databázi nějaký seznam.. třeba seznam oblečení (tedy nějaké objekty, oblečení má barvu, velikost atd...).
Chci udělat výpis tohoto oblečení na profilu uživatele například po 10 kusech.
Můj postup:
Načtu data z DB do Listu a následně je proženu svým napsaným kusem kódu co my vyhodí List o velikosti 10 (podle čísla stránky na který je).
Je to tak v pohodě? Co když budu první list (ten načtený z db o velké velikosti například 10000000000000 kusů - a z něj pak budu vybírat 10 kusů, to zatěžuje zbytečně paměť, ne?).
Je nějaký lepší řešení? Třeba rovnou vybírat 10 kusů ? Vím že můžu nastavit omezení maximálního počtu vybraných kusů z db, ale jak zajistit aby to byl právě můj interval třeba na stránce číslo 4?
Používám normál MySql, dá se to tedy řešit takhle? :
Chce první stránku po 10 kusech:
Chce druhou stránku po 10 kusech:
Tohle nebude fungovat, když ID nepůjdou po sobě, nebo tam bude "díra" (vymazané záznamy)...
http://www.slideshare.net/slideshow/view?login=Ewe aver&preview=no&slideid=1&title=efficient-paginati on-using-mysql
Tady to má o něco jednodušeji podané:
http://www.w3schools.com/php/php_mysql_select_limi t.asp
Jo, ale problém s tou fci LIMIT - OFFSET je ten, že když bude dělat OFFSET 100000000,15 tak stejně načte 100000015 záznamů s tím, že těch 100000000 se zahodí (na úrovni DB). V mém linku je i popis, jak to řešit.
EDIT: Pokud tam ale nemáš milióny záznamů, tak použij LIMIT - OFFSET a neřeš to...
Díky za rady.
V dokumentu nikde nepíše co znamenají čísla v LIMIT
LIMIT 0, 20
LIMIT 20, 20
LIMIT 40, 20
??
Druhé číslo asi znamená počet záznamů, ale první?
Aha, asi odkud se začíná
Díky vyřešeno.
A tohle nám ve škole neřeknou
Nespoléhej na to, že ti ve škole něco řeknou. Programování je hlavně o vyhledávaní informací...
Právě proto to teď asi hledám
Díky