abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 29
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 334 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: indexy v mysql

    30.1.2009 10:29 Hollowman | skóre: 4
    indexy v mysql
    Přečteno: 293×

    Chtěl bych se zeptat na vliv úspořádání indexů.

    Mám tabulku (2,2 mil záznamů) kde jsou sloupce kraj, orp, obec (INT) pomocí kterých se třídí jakési hlavní vypisování při procházení strukturou. Umístil jsem nad tyto sloupce indexy, čím se výrazně zrychlilo vypisování s ohledem na počet záznamů - úroveň kraj to samozřejmě prohledává nejdéle.

    Můj dotaz však směřuje k tomu jestli je výhodnější a rychlejší když přidám index s názve radit nad sloupce kraj, orp, obec nebo když udělám tři indexy. Samostatně každý index na každý z těchto sloupců zvlášť.

    Odpovědi

    30.1.2009 10:40 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: indexy v mysql
    Zalezi na okolnostiach. Ukaz nam presny prikaz CREATE TABLE, ktorym je tabulka vytvorena a hlavne nam ukaz presny prikaz SELECT, ktory sa snazis optimalizovat.
    30.1.2009 10:42 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: indexy v mysql
    Btw, je problem to vyskusat a porovnat obe moznosti? :-(
    30.1.2009 10:50 hollowman
    Rozbalit Rozbalit vše Re: indexy v mysql

     pripada mi to plus minus dost stejne.. 

    SELECT nazev, ulice, obec, psc, orp FROM table WHERE kraj=3  // prvni uroven

    SELECT nazev, ulice, obec, psc, orp FROM table WHERE kraj=3 AND orp=58  // druha uroven

    SELECT nazev, ulice, obec, psc, orp FROM table WHERE kraj=3 AND orp=58 AND obec=6168  // treti uroven

    druha a treti jsou bleskove.. v te prvni je výsledkem dotazu více jak 100 tisíc záznamů až 400 tisíc.

    CREATE TABLE `firmy_zaklad` ( `ico` int(8) unsigned zerofill NOT NULL, `heslo` varchar(255) collate utf8_czech_ci NOT NULL, `nazev` varchar(255) collate utf8_czech_ci NOT NULL, `obor` int(11) NOT NULL, `kraj` int(11) NOT NULL, `orp` int(11) NOT NULL, `obec` int(11) NOT NULL, `castobce` varchar(40) collate utf8_czech_ci NOT NULL, `ulice` varchar(255) collate utf8_czech_ci NOT NULL, `psc` int(11) NOT NULL, PRIMARY KEY (`ico`), KEY `kraj` (`kraj`), KEY `orp` (`orp`), KEY `obec` (`obec`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

    30.1.2009 11:07 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: indexy v mysql
    Co su to za urovne? Optimalizujes vsetky tie selekty, alebo len ten posledny z nich? Je ten prvy select skutocne pomaly pri selektovani, alebo pri prenose udajov do aplikacie? Skor by som typoval to druhe, zda sa mi ze nacitava ovela viac udajov ako tie zvysne dva. Btw, su tie selekty skutocne kompletne, alebo pokracuju este dalej nejakymi inymi podmienkami resp. klauzulami ORDER BY?

    30.1.2009 11:20 hollowman
    Rozbalit Rozbalit vše Re: indexy v mysql

     sorry je tam jeste ORDER BY nazev LIMIT 0,30

    vzdy je žádán jen jeden select podle toho v jake je to urovni, napred jdes do urovne kraj, vola se prvni select pak vyberes kliknutim ORP a vola si jiny select a pak ten treti.. 

    ten dotaz je stejně dlouhý když ho spustím ve finalni aplikaci i když ho spustím v phpmyadminu, ale to je asi totéž., takže nevím jak bych měl poznat jestli je pomalý již při tom selektování

    30.1.2009 13:04 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: indexy v mysql
    je tam jeste ORDER BY nazev LIMIT 0,30
    A to sa Ti zda ako nepodstatny detail? Ten prvy select trva dlho, lebo je potrebne tu hromadu zaznamov zotriedit. Pre prvy select odporucam index(kraj,nazev): podla polozky kraj sa bude vyhladavat, a vsetky najdene polozky budu v indexe usporiadane podla nazvu. Takze databaze staci, ze podla prvej urovne indexu najde spravny kraj a potom preiteruje cez vsetky najdene polozky, pretoze vie, ze ich ma zoradene podla nazvu, kedze su podla nazvu indexovane. Ak teda MySQL ma dostatok inteligencie na taketo pouzitie indexu; ale skor typujem ze ano.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.