Geek tričko zdarma Týden návrhu sw
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Využij až 80% slevu na kurzy Návrhu Software

Diskuze: Jak moc se zpomalují databáze MySQL, MariaDB při větším množtví klíčů v tabulce?

Aktivity (1)
Avatar
Matěj Strnad:24. února 11:47

Jak moc se zpomalují databáze MySQL, MariaDB při větším počtu klíčů v tabulce (klidně i několik desítek tisíc)? Je v tomto ohledu rychlejší MySQL nebo MariaDB? Děkuji za odpověď :)

 
Odpovědět 24. února 11:47
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Matěj Strnad
Martin Dráb:24. února 20:07

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.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 24. února 20:07
2 + 2 = 5 for extremely large values of 2
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:25. února 7:52

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 :)

 
Nahoru Odpovědět 25. února 7:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.