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í
×
    dnes 02:11 | Pozvánky

    Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.

    … více »
    Heřmi | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.

    Ladislav Hagara | Komentářů: 0
    včera 10:33 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2024 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 2. a 3. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 07:00 | Komunita

    Ubuntu oslavilo 20 let. První Ubuntu 4.10 s kódovým názvem Warty Warthog bylo vydáno 20. října 2004.

    Ladislav Hagara | Komentářů: 1
    20.10. 04:44 | Nová verze

    Vizuální programovací jazyk MicroBlocks určený pro programování mikropočítačů jako micro:bit pomoci bloků byl vydán v nové verzi 2.0. MicroBlocks je inspirovaný Scratchem.

    Ladislav Hagara | Komentářů: 0
    18.10. 22:44 | IT novinky

    Mapy.cz zavádí placenou verzi Premium (𝕏). Cena předplatného bude zveřejněna v další verzi aplikace (𝕏). Aplikace i web budou dál fungovat zdarma. Mění se způsob ukládání offline map. Nově bude možné bezplatně uložit offline mapu pouze jednoho státu (𝕏).

    Ladislav Hagara | Komentářů: 33
    18.10. 11:44 | Nová verze

    Byla vydána nová verze 8.10 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Pravděpodobně poslední osmičková verze. V průběhu několika měsíců by měla vyjít verze 9.

    Ladislav Hagara | Komentářů: 0
    18.10. 04:22 | Pozvánky

    O víkendu 19. a 20. října lze na brněnském výstavišti v pavilonu A1 navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, "festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí", a GameDev Connect, "akci určenou pro všechny současné a hlavně budoucí herní vývojáře, kteří touží proniknout do jednoho z nejúžasnějších průmyslů na světě".

    Ladislav Hagara | Komentářů: 0
    18.10. 00:33 | Nová verze

    Asterisk (Wikipedie), svobodná softwarová implementace telefonní ústředny (PBX), byl vydán ve verzi 22.0.0. Přehled novinek v této nové major verzi v oznámení na webu a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: široká tabulka mysql

    16.1.2011 13:30 Matlák
    široká tabulka mysql
    Přečteno: 561×
    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.