Hlavní navigace

Názor k článku Buďte moderní (v SQL) od Pavel Stěhule - Všechny komerční servery už mají window funkce, LATERAL...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 6. 2016 19:13

    Pavel Stěhule

    Všechny komerční servery už mají window funkce, LATERAL má určitě Oracle. Tuším, že podpora window funkcí už je i v trojkovém Firebirdu.
    Jinak samozřejmě, že v uložených procedurách, pokud je jazyk dostatečně, silný uděláte cokoliv. Pro pár tisíc řádků se to v rychlosti vůbec nepozná. Na druhou stranu, uložená procedura je konečná pro optimalizátor, který nebude tušit jestli výsledkem je jeden nebo 100000 řádků.
    A do třetice. Vaše navrhované řešení je ekvivalent window funkce. Cčková nativní implementace ale bude rychlejší než iterace po řádku v uložených procedurách. Samozřejmě, že je vždy otázkou o kolik, a jak je to pro dané použití významné. Pokud na 10K řádcích ušetřím 100ms, a vždy budu mít max 10K řádků, tak to asi můžu udělat skrz uložené procedury a dál neřešit.
    Na druhou stranu vždy je dobré mít znalosti SQL - uložené procedury by měly fungovat jako lepidlo efektivních SQL příkazů - nikoliv suplovat neznalosti vývojáře.