28. října vyšlo nové MySQL, které konečně zvládá i vnořené selekty. Neodolal jsem a hned jsem verzi 4.1 stáhl a nainstaloval. Přinásím vám takové menší srovnání rychlosti mezi novým MySQL 4.1 a starším MySQL 3.23.38.
Představme si, že existují dvě tabulky. První (files, 16 000 záznamů) obsahuje jména souborů, počet stažení, id adresáře a další věci. A druhá (directories, 2000 záznamů) názvy adresářů. Obě tabulky lze spojit pomocí id adresáře a tak zjistit kde se jednotlivý soubor nachází.
SELECT * FROM files ORDER BY nazev DESC LIMIT 10MySQL 4.1 -> 0.08s
SELECT sum(stazeno) FROM filesMySQL 4.1 -> 0.01s
SELECT avg(stazeno) FROM files, directories WHERE files.adresar=directories.idMySQL 4.1 -> 0.02s
SELECT avg(stazeno) FROM files -> vysledek 24.5175MySQL 4.1 -> 0.02s
SELECT count(*) FROM files WHERE stazeno<24.5175MySQL 4.1 -> 0.02s
SELECT count(*) FROM files WHERE stazeno<(SELECT avg(stazeno) FROM files)MySQL 4.1 -> 0.09s
Z výsledku vídíme, že nové MySQL je o trošičku pomalejší, což je úměrné složitosti řešení. Z mého testu vyplývá, že je vhodnější nahradit jeden složený selekt více jednoduchými , čímž dosáhneme rychlejšího zpracování.
Rychlost jsem testoval i na eshopu ProComs, kde nové MySQL dosáhlo o 0.1s–0.23s horšího výsledku v rychlosti provedení.
Hodně dlouho vývojáři MySQL omlouvali chybějící vnořené selekty tím, že je lze nahradit jiným a rychlejším řešením. I když se ten argument spíš týkal spojování více tabulek, jak je vidět, mají i tady se nevýkonnost vnořených SELECTů projevila…
No ted jsem resil jak exportovat v PhpMyAdminu tabulky v kodovani jinym nez v utf (v mysql 4.1). Nepovedlo se, jestli nekdo vite jak naimportovat ze starych mysql a adminu databaze v windows-1250, nebo jak donutit admina pouzit tohle kodovani, tak dejte vedet. Ja to nezjistil. Proste: je jedno jestli je MySQL 4.1 pomaly, ale at jdou v PHPMyAdminu delat spravne exporty a importy!!!
Reakce na Qark #2Načítám náhled komentáře...: prosím pokud jste někdo tento problém vyřešil pošlete mi prosím návod na e-mail rosi@avemar.cz mockrát děkuji
Rosi
Web je nyní kompletně uzavřen. Od této chvíle není možné přidávat žádné komentáře!
Další informace naleznete zde.