Diskuze: Jak moc se zpomalují databáze MySQL, MariaDB při větším množtví klíčů v tabulce?
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Co myslíš pod spojením "několik desítek tisíc klíčů v tabulce"?
Pokud tím myslíš několik desítek tisíc záznamů (řádek), jejichž
některé položky jsou klíče (např. cizí klíče do jiných tabulek či
prostě indexy), tak na to je databáze dělaná, takže zpomalení bude malé.
Pokud chceš mít tabulku o desítkách tisíc sloupců, tak je mi té databáze
dost líto , ale řekl bych,
že pak je něco špatně s návrhem struktury té tabulky – pravděpodobně
by bylo lepší ji rozdělit na více tabulek (i kvůli normálním
formám).
Záleží hlavně na tom, jak s těmi daty budeš pracovat – jaké dotazy pokládat. Například je dobré na sloupcích, které se budou vyskytovat v podmínkách dotazů (např. WHERE), definovat indexy, protože jinak bude databáze nucena tabulku procházet řádek po řádku.
Pokud mas spravne nastavene indexy, spravne pracujes se sloupci a nepokousis se vyhledavat 20 radkove stringy, tak do 1.000.000 zaznamu by to melo byt v pohode.
Hodne si take muzes zavarit spatne udelanym dotazem s JOINovanim tabulek. Tam
i 100 radku je moc, kdyz poskladas dotaz, tak, ze misto jednoducheho vyberu
propojuje tabulku na tabulku...
100 x 100 x 100 x 100 a najednou pro vyhledani zaznamu, kde jsou 4 autori
spolecni je to uz 100 milionu radku a 5 minut. O jednoho vic a muzes server
zablokovat na 30 min, hodiny, dny
Zobrazeno 3 zpráv z 3.