abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    včera 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    28.4. 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    28.4. 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Indexy - prosím o radu

    16.10.2006 19:14 Petr
    Indexy - prosím o radu
    Přečteno: 99×
    Mám v databázi MySQL (verze 4.1) tabulku Chron, která nyní má cca 900 000 řádků (70MB). Jsou vytvořeny tři indexy (primary plus dva další). Tabulka obsahuje mimojiné pole Zkratka Varchar(5) a Text1 Varchar(25). Tato pole nejsou indexovaná, ale občas se podle nich vyhledává a vytížení procesoru na serveru je 100% a trvá to dlouho. Když vytvořím indexy pro tato pole, zrychlí se vyhledávání, ale zřejmě se zpomalí insert (a update a delete). A to mě zajímá. Uživatelé vkládají jednotlivé záznamy - poznají při tomto "ručním" přidávání ono zpomalení nebo se to výrazně neprojeví?

    S tím souvisí i můj druhý dotaz: donedávna byla na serveru (mnohem horším) verze MySQL 3.23 a nikdy nebyl problém s tímto vyhledáváním (tj. nebyl procesor vytížen tak, že ostatní uživatelé nemohli pracovat). Aplikace se nezměnily, pořád ty samé dotazy, velikost databáze zhruba stejná.

    Odpovědi

    16.10.2006 21:00 svatekr | skóre: 18 | blog: Svatekr | Teplice
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Určitě indexovat. Vyhledávání se zkrátí z řádu sekund na milisekundy. Při vkládání to uživatelé nepoznají. Snad pokud by importovali najednou více záznamů, ale po jednom je to neměřitelné.
    Každé zbytečně vyřčené slovo je vyřčeno zbytečně.
    16.10.2006 23:51 Petr
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Díky za odpověď. Je lepší udělat ten index pro pole Text1 (jsou v něm převážně čísla faktur, variabilní symboly, atd) indexovat jen pro prvních řekněme osm znaků nebo je to (zhruba) jedno?
    17.10.2006 00:00 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Zalezi od udajov, od select-u, od mnohych veci. Uvedom si, ze indexy sa vzdy navrhuju pre konkretnu aplikaciu, este presnejsie pre konkretny select. Niekedy moze byt vhodny normalny index, niekedy reverzny, niekedy index na funkciu nad retazcom. Stretol som sa s aplikaciou, kde najvhodnejsi index bol (jedna sa o postgresql, ale na ilustraciu to staci):
    create index idx_xxx on sl (length(yyy), yyy);
    
    kde yyy je stlpec typu varchar(129). Proste prasacina, ktoru by len tak s fleku nikto nenavrhol, ale pre dany select bola najucinejsia. Velke obmedzenie pri indexoch je, co vlastne ktora db umoznuje. PostgreSQL so svojimi selektivnymi indexami a moznostou pouzivat priamo v indexoch funkcie je pekne vypecene. ;-)

    Len som chcel povedat, ze ako konkretne vyrobit indexy, na to musis prist sam. Neda sa to poradit vo vseobecnosti.
    17.10.2006 00:13 Petr
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    já vím. ale nevím, jaký je v praxi rozdíl mezi indexem pro prvních 8 znaků a pro celé pole (v tomto případě v rychlosti selectu asi malý, ale ve velikosti (MB)?) Předpokládám, že těch osm znaků by zde mělo stačit ...
    17.10.2006 00:26 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Vyskusaj a uvidis! Mozno bude rozdiel nemeratelny, mozno dramaticky. Zalezi to aj od samotnych udajov. Co ak budu mat prvych 10 znakov vsetky zaznamy takmer rovnakych? Co ak ...
    16.10.2006 23:32 Ľubomír Host | skóre: 19 | Bratislava
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    ak je to 900 tis. zaznamov a daju sa tieto zaznamy podelit na nejake casove obdobia, tak mozno by stalo za to upgradnut aplikaciu, aby:
    - sa zaznamy vkladali do jednej tabulky
    - statistiky/vyhladavania robili nad tabulkami typu MERGE
    - zaznamy z predchadzajuceho mesiaca stale presunut do tabulky tabulka_2006_10 Alebo mozno skusit pouzit vo vyhladavani UNION nad niekolkymi tabulkami (za kazdy mesiac) a tabulky poctivo naindexovat Alebo kupit tucnejsie zelezo a iba naindexovat tu jednu velku tabulku. ;-)
    16.10.2006 23:45 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Z coho plynie jednoznacna odpoved na polozenu otazku "to index or not to index?": indexovat.
    16.10.2006 23:44 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Skus forum na databazovom svete.

    Inac v serioznej databaze by vsetky akcie mali byt meratelne, co sa tyka vykonnosti. Ma MySQL nieco ako EXPLAIN ANALYZE? Ak ma transakcie, tak by mohol byt testovatelny aj ten insert/delete:
    begin; 
    explain analyze insert into ... ; 
    rollback;
    
    S pravdepodobnostou hraniciacou s istotou budu vysledky v prospech indexovania. Navrhnut dobre indexy (zlozene, pouzivajuce funkcie, etc.) nie je jednoduche, zvycajne to vyzaduje dobru podporu zo strany DB, skvelu znalost administratora/developera a pohratie sa s realnymi dotazmi v spravnom tvare (pozor na prepared statements). Vysledok vsak zvycajne stoji za to.
    17.10.2006 10:00 LesTR | skóre: 17 | Plzeň
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    Zdravim,
    mysql samozrejme ma explain (viz. Doc )
    Transakce umi, ale pouze nad tabulkami typu InnoDB a jeste te jedne exoticke, ktere ted nemohu prijit na jmeno.
    S tabulkami InnoDB je ovsem problem, ze ve vetsine pripadu sou mnohem pomalejsi nez Myissam.
    Typ Myissam byl primarne vyvyjen jako mala, rychla databaze, coz je.
    V tabulkach o vetsim poctu radku je mnohem rychlejsi pouziti pevnych delek zaznamu, tj. misto varchar(20) pouzit char(20), coz pomuze rychlosti, ale zase to sezere vice mista na disku.
    Indexy jsou nutnosti a jak tu jiz nekdo zminil, neni mozne rici, udelej to takto a takto, bez znalosti dat v DB a dotazu do ni.
    Osobne si ale myslim, ze vytvaret index na poli typu text, je ten nejvetsi hnus co muze byt, tfuj tfuj tfuj... P.S. Tuto reakci jsem zaradil pod vas prispevek, protoze jsem odpovidal na explain a transakce. Jak to tak ale byva, clovek se rozepise vice : )
    Save The World - http://www.worldcommunitygrid.org/ LesTR
    17.10.2006 11:44 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    myisam však nepodporuje row lock, iba table lock, čo napr pri častých insert/update výrazne spomaľuje.
    17.10.2006 11:55 hm
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu
    ...neboli na pořádnou práci je lepší _skutečná_ databáze ;-)
    17.10.2006 11:57 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Indexy - prosím o radu

    mysql samozrejme ma explain – ale jenom na selecty…

    Ještě na tom nejsem tak špatně, abych četl Viewegha.

    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.