!!! Od 1.6.2022 jsem zaměstnán na HPP. Kde? To tady nemůžu napsat (kvůli Compliance). Ale na mém Linkedin účtu (nick: Jirka Pinkas) to určitě najdete. 😁 V současnosti mám volných 10 dní, které mohu alokovat na školení 😊

Stránkování u velkých tabulek

publikováno: 2.3.2016

Asi znáte LIMIT a OFFSET (terminologie PostgreSQL, u jiných databází to je podobné). Pomocí LIMIT jsme schopni udělat top-n processing (získat prvních N záznamů). A OFFSET použijeme když nechceme "prvních N záznamů", ale "prvních N záznamů následujících po M záznamech". V případě malých tabulek (cca. do 100 tisíc záznamů) je možné tento přístup používat, ale v případě větších tabulek (miliony záznamů a více) je bohužel nepoužitelný. Co v takové situaci použít? Něco chytřejšího :-)

Je zapotřebí mít číselný sloupec, který obsahuje pořadové číslo záznamu (u PostgreSQL je k tomu ideální SERIAL, u MySQL AUTOINCREMENT apod.). A poté můžeme udělat SELECT, ve kterém získáme například prvních 100,000 záznamů (utříděných podle ID) a uložíme si ID posledního záznamu. A pro další stránku uděláme SELECT, kde opět získáme prvních 100,000 záznamů od posledního uloženého záznamu a tak dále. Nevýhoda je, že se to musí malinko oprogramovat. Výhoda je rychlost získávání jednotlivých stránek, která u LIMIT a OFFSET postupně razantně degraduje, zatímco u tohoto přístupu je konstantní.

Pěkně popsané (včetně obrázků) to také je tady: http://use-the-index-luke.com/sql/partial-results/fetch-next-page

Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

25.12.2023: testcontainers pro lokální vývoj

25.12.2023: Kubernetes & Prometheus Documentary

9.8.2023: Rancher Desktop 2023