Kontaktní osoba:
Ing. Jiří Pinkas
Mobil: +420 774 912 047

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





comments powered by Disqus


Reference

Expobank CZ, a.s.

" Co se mi na školení líbilo byla neformální atmosféra, která panovala po celou dobu školení. Dále bych pochválil lektora za pohotové odpovědi a také za příklady ze života/ praxe (čím " podrobnosti ...

Tomáš

Commerz Systems

" Skoleni se mi moc libilo. Hodne praktickych prikladu na pocitaci, kde clovek rychlej pochopil danou problematiku. V pripade nepochopeni byl lektor ochoten poradit a vysvetlit konkretni pripad detailneji. Skoleni budu " podrobnosti ...

Andrea

Buřinka

" Školení na psaní SQL dotazů předčilo mé očekávání. Jirka probírá teorii po blocích, po každém bloku účastníci zpracovávají praktické příklady. Při zpracování praktických příkladů jsem velmi ocenila individuální " podrobnosti ...

Zuzana


Novinky

4.4.2017: SAP HANA & Veverka (SQuirrel SQL)

Oficiální SAP HANA studio funguje, ale je hrozně pomalé. Další z nástrojů, kde je možné rozchodit SAP HANA je Veverka (SQuirrel SQL) podrobnosti ...

25.3.2017: SAP HANA referenční příručky

V současnosti je trošku složitější najít na webu referenční příručku k SAP HANA SQL, proto sem dávám odkazy. podrobnosti ...

6.3.2017: SAP HANA 2.0, express edition + SAP HANA studio instalace

Rychlé how-to podrobnosti ...