Odpověď na názor

Odpovídáte na názor k článku Přestaňte už používat MySQL, není to skutečný open source. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 14. 1. 2026 12:57

    Pavel Stěhule

    Paralelních session můžete mít otevřených tisíce - v tom problém není. Problém je v tom, že v každé session můžete pustit dotaz, který se okamžitě začne vykonávat (bez jakékoliv fronty) - a tím si můžete úplně utavit server. Běžně se to řeší nasazením pgbounceru v transakčním módu - a nebývají s tím problémy.

    Postgres není dobrá databáze na data, kde dochází k intenzivním změnám relativně malého počtu řádek navíc v rámci jedné transakce (je menší zlo udělat 10 změn na 100 řádcích než 100 změn na 10 řádcích). VACUUM vždy běží až po dokončení transakce. Co je problém - a kde je Postgres výrazně pomalejší než MySQL jsou updaty oindexovaných sloupců. Ve své praxi jsem se za poslední roky nesetkal s tím, že by VACUUM byl problém (pokud si někdo nevypne autovacuum).

    Horší je, že pokud se nepoužije hotupdate, tak postgres kromě modifikace samotne tabulky přidává reference do všech indexů - i do těch, které se nezměnily - což u MySQL se neděje. Tam se sekundární indexy odkazují na index PK - a je to výrazně efektivnější. Což byl třeba problém, kvůli kterému Uber odešel z Postgresu. Už jsem to tu zmiňoval - pokud máte tabulku, která má mnoho oindexovaných sloupců (bavíme se například o vyšších desítkách nebo nižších stovkách), tak UPDATE bude na MySQL výrazně rychlejší. Nemůže za to VACUUM, ale to jak má Postgres navržené indexy.

    14. 1. 2026, 12:57 editováno autorem komentáře