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 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 1
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 38
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 18
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (16%)
     (17%)
     (22%)
     (16%)
     (18%)
     (16%)
     (16%)
    Celkem 186 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: široká tabulka mysql

    16.1.2011 13:30 Matlák
    široká tabulka mysql
    Přečteno: 594×
    Dobrý den.
    Mám takový obecný "FAQ" dotaz na MySQL:

    Navrhuju databázi pro položky které mají velký počet parametrů (asi 350) a potřeboval bych, aby bylo možné podle kteréhokoli z nich vyhledávat a řadit. Je lepší použít jednu širokou tabulku s 350 sloupci, ve které bych vyhledával normálně a nebo je lepší použít uloženou proceduru, přičemž by se jednotlivé parametry (krátké řetězce či čísla) uzavíraly v "hlavní" tabulce do stringu a pomocí substring() se rozporcovávaly, přičemž by vznikala dočasná tabulka ve které by se pak vyhledávalo?

    Jde mi hlavně o časovou náročnost při velkém počtu položek (kolem 15-30 tisíc). Má vůbec cenu uvažovat nějaké uložené procedury? Děkuji předem za odpověď.

    Řešení dotazu:


    Odpovědi

    16.1.2011 13:34 FooBar
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Ta metoda pomoci substringu je silena od zacatku do konce a 15-30 tisic polozek neni moc.

    That said, pokud vsechny polozky nemaj stejnej pocet parametru (nektery/vetsina) muze bejt NULL, doporucuju zvazit navrh parametru pres EAV (entity-attribute-value, viz wikipedia nebo Google).
    16.1.2011 14:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Obecná poznámka (neznaje Váš případ):
    350 parametrů neznamená obvykle 350 parametrů, i když je to například měření ze spoustou vstupů, lze to rozdělit do jednotlivých tabulek a ty pak dle daného účelu spojovat a vyhledávat, protože obvykle se nechce znát všech 350 parametrů naráz, a pak i při milionech záznamů lze tato data zpracovávat velmi efektivně na běžném notebooku.
    Rovněž je možné, že se budou vyskytovat nějaké výčty reprezentované textem s omezenou množinou hodnot, ty lze chápat jako číselníky a jejich ID může mít jen bezpečný rozsah (třeba jen 1byte)
    Dlouhé komentáře málo potřebné lze vyjmout do polí typu TEXT (textový blob), kterýžto není celý součástí záznamu.
    Pokud je množství řádků omezené pouze na 30tis, tak níže zmíněná možnost EAV či podobné modely lze aplikovat i na běžném HW.
    PS: Pravděpodobně ale stejně narazíte :).
    substring doporučuji zapomenou - to pak snad už ani nedávejte do db…
    Co se týče procedur, záleží na tom jaký je vstup a jak se parsuje fo podoby SQL.
    Z mého pohledu je 15-30tis jen několik záznamů, pokud je není třeba zpracovat ve 2 sekundách :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    17.1.2011 21:01 jekub
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    všeobecná poznámka - nepoužívejte přechodníků neumíte-li to.
    17.1.2011 21:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Jsem rád když sesmolím větu, v které nechybí čárka či neprohodím předložku s/z, ještě abych si všímal, že jsem omylem použil přechodník a špatně. Asi narážíte na „neznaje“ asi by tam mělo být něco jako: „Píšu, neznaje Váš případ“ jestli ne, tak mi to taky nevadí…
    Sorry jestli jsem poranil Vaše gramatické oko :), připomínku jsem si přečetl a nebudu se jí řídit :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    17.1.2011 21:39 FooBar
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    ...nekritizujte gramatiku, kdyz Vam chybeji carky. :)
    Dalibor Smolík avatar 17.1.2011 14:09 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Asi bych zvážil, zda některé parametry jsou důležitější než ostatní a podle nich zvolil počet sloupců. (Řadí se vždy podle jednoho nebo víc parametrů najednou?). Zbytek bych dal do pole "text" a při vyhledávání vytvořil formulář, kde by se zadal hledaný text nebo jen část řetězce, vyjely by jen řádky obsahující tento text. Něco takovéhov menším využívám také.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    17.1.2011 14:32 kuka
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Je to popsane dost kuse, ale pokud ma jit o neco jako "sesit tabulkoveho procesoru", tak to pres sloupce bude nejrychlejsi. Na variantu se substring rovnou zapomen. Zalezi i na tom, jak a zda se to ma potom zobrazovat, jak se to bude plnit, kolik z tech parametru maji jednotlive polozky v prumeru vyplneno apod.
    19.1.2011 17:34 VM
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Na substring zapomente - nefunguji na nem indexy.

    Osobne bych zvolil treti moznost - tabulku se tremi sloupci - ID polozky, typem parametru a hodnotou parametru. Udelate index na typ a hodnotu, a dostanete co hledate - ID polozky.
    20.1.2011 10:33 kuka
    Rozbalit Rozbalit vše Re: široká tabulka mysql
    Jen je treba vzit v uvahu, ze z tabulky o 30 tisicich radku se nam takto stala tabulka o 10 milionech radku. Ne ze by to dnes bylo neco hrozneho. Pro nektera pouziti je tato metoda vhodna, pro jina nikoliv. Napriklad slozeny index se nad takovym modelem udela opravdu tezko, stejne tak i unikatni klic nad urcitymi skupinami parametru, constraint davajicich hodnoty parametru do souvislosti apod. Tazatel o pouziti dat neuvadi temer nic, takze s vyjimkou odmitnuti te "substringove" metody je tezke mu smysluplne poradit.

    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.