Názor ke článku SQL a rekurze od Pavel Stěhule - [9] Pokud by šlo čistě o iteraci, tak...

  • 11. 5. 2014 11:47

    Pavel Stěhule (neregistrovaný)

    [9] Pokud by šlo čistě o iteraci, tak program v C nad daty v paměti bude cca 20x rychlejší - a pokud by rekurzivní prohledávání dat byla primární úloha, tak existují vhodnější nástroje než je relační SQL databáze. Nicméně rekurzivní prohledávání dat může být jen jednou z mnoha úloh, které chcete s daty v databázi dělat - např. operacemi nad číselníky získat seznam idček a pak dál už pracujete klasicky relačně - nebo rekurzí získáte popisky, které přijoinujete k agregovaným hodnotám - a pak se může hodit, že SQL databáze rekurzi umí. I když je relační databáze pomalejší než specializovaný sw, pořád umí vracet (i s rekurzí) desítky tisíc řádků za vteřinu, což na hodně úloh bohatě stačí. Určitě nemá relační a nemůže relační databáze s CTE zastoupit specializované grafové databáze nebo algoritmy, které jedou čistě nad maticemi v paměti - primárním účelem relačních databází je management dat - a CTE je aby se některé věci dělali pohodlněji.

    Pokud byste chtěl dělat rekurzi nad daty uloženými v databázi externě, tak pak musíte počítat s režií exportu dat mimo databázi - network, interproces communication