|
|
Rychlost subselectu
|
4.7.2005 14:03
Risa
|
Na základě vašeho článku jsem si zkoušel, jestli subselecty jsou opravdu pomalejší než left join. Mám existující databázi, ve které mám podobnout strukturu jako tabulku čtenářů/výpujček (jiná oblast, stejný princip). Četnářů je cca 500, výpůjček cca 23000. Dotaz na chybějící údaje pomocí left joinu i pomocí subselectu trval v podstatě stejně dlouho (cca 0.0423s) na MySQL 4.1.11. Nejspíš to vypovídá o hodně účinné optimalizaci subselectů v nových verzích MySQL.
|
|
|
Re: Rychlost subselectu
|
6.7.2005 18:03
Jan Houštěk
|
Dejte si na ty dotazy EXPLAIN a uvidíte, že optimalizátor provádí oba identicky. Pro testovací účely musíte mysql hrubou silou vysvětlit, at prování dotaz opravdu přesně tak, jak chcete. |
|
|
Re: Rychlost subselectu
|
10.7.2005 07:51
Petr Zajíc
|
Kolikrát je skutečně obtížné: 1) Zjistit, jak co databázový stroj optimalizuje
2) Experimentem ověřit, která cesta k provedení dotazu je nejrychlejší, a to zejména vzhledem k tomu, že se kvanta spojovaných dat mohou měnit. Jak uvádí Honza, příkaz EXPLAIN to částečně poodhaluje tím, že vysvětlí, co se děje. Celá problematika je mnohem složitější, protože do hry vstupují tzv. indexy, o nichž jsme v seriálu zatím nemluvili. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|