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 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 1
    dnes 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 3
    dnes 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 1
    dnes 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 1
    dnes 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 1
    dnes 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 1
    dnes 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 8
    včera 17:52 | Zajímavý projekt
    WorldTUI je experimentální LLM o 360 milionech parametrů, který napodobuje terminál. Podle stisknutých kláves se snaží předpovídat změny na obrazovce a zvládá tak vyonávat rozličné příkazy, například Vim, tmux i jednoduchou hru Snake. Nejedná se o skutečný příkazový řádek, jeho 'soubory' i příkazy jsou pouze simulované a model může samozřejmě různě chybovat. WorldTUI vychází z jazykového modelu Qwen2.5-Coder-0.5B, který autor … více »
    👻 | Komentářů: 2
    včera 17:48 | Zajímavý článek
    Josef Bacik navrhuje novou abstrakci cell, která by celý kontejner reprezentovala jako jeden kernelový objekt. Proces by vznikl přímo uvnitř cell a nemohl by ji opustit. Oprávnění ke správě by se odvozovala od držení cellfd. … více »
    vencour | Komentářů: 11
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2970 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: MySQL primární klíč za každou cenu?

    28.8.2010 02:47 prikes
    MySQL primární klíč za každou cenu?
    Přečteno: 2225×
    Hodně často nacházím v článcích o mysql napsané o primárním klíči, že má být v každé tabulce. Co když ho v nějaké tabulce mít nebudu? To snad zpomaluje mysql nebo co když tam není? Třeba pokud mám tabulku mapující uid na gid, tak přece nebudu vytvářet ještě kromě sloupců uid a gid ještě sloupec id (který bude primárním klíčem) jak to často vídávám v návrzích. Jaký na to máte názor?

    Odpovědi

    Jendа avatar 28.8.2010 03:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Hodí se to, pokud budeš chtít právě jedno konkrétní mapování smazat.
    bazil avatar 28.8.2010 05:10 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    nejdřív si prosimtě zjisti a přečti neco o normálních formách a o primárních klíčích ... (primární klíč != ID)
    28.8.2010 12:24 prikes
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    nejdřív si prosimtě zjisti a přečti neco o normálních formách a o primárních klíčích ... (primární klíč != ID)
    To jsem nikdy netvrdil. Já psal že to tak v návrzích vídám.
    okbob avatar 28.8.2010 07:43 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Primární klič je sloupec jehož obsah jednoznačně identifikuje řádek tabulky. Ve Vašem případě tedy sloupec uid prohlásíte za primární klíč a máte hotovo.
    28.8.2010 12:26 prikes
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    To by byl docela problém, protože tabulka může vypadat takhle:
    UID    |    GID
    1           5
    1           8
    2           8
    ...
    
    okbob avatar 28.8.2010 21:41 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Jasně, to záleží pouze na definici - v tomto případě má smysl použít složený primární klíč. Výkonnostní efekt tam nebude žádný (pokud budete mít již index nad uid) - ale ochrání vás to před duplicitami.
    28.8.2010 09:29 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Já považuji za rozumné mít v každé tabulce umělý primární klíč (umělý proto, že u primárních klíčů z reálných dat se vždy dříve či později ukáže, že není zas až tak unikátní, že může být NULL apod.). S jedinou výjimkou, a tou jsou tabulky pro M:N mapování – pokud ta je důležitá jen ta samotná vazba a nemá tedy už žádné další atributy. Pak je logické mít jako primární klíč té tabulky oba její sloupce (protože ta vazba je unikátní) – ve vašem případě bych tedy do primárního klíče dal UID, GID.
    28.8.2010 12:31 prikes
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    To zní rozumně. Opravdu tam bude vždy jen unikátní vazba uid-gid. Teď to mám udělané tak, že uid a gid jsou prostě jen INDEXované, každé zvlášť. Takže by to mělo být takto?:
    UID - INDEX
    GID - INDEX
    UID + GID - PRIMARY
    
    Je dobré že si databáze bude hlídat unikátnost záznamů, ale není to zbytečné? To si snadno ohlídám v aplikaci a nebude to na úkor zvětšování tabulky databáze.
    Heron avatar 28.8.2010 12:41 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Je dobré že si databáze bude hlídat unikátnost záznamů, ale není to zbytečné?

    Není to zbytečné. DB si má sama hlídat integritu dat (od toho je to taky databáze).

    To zní rozumně. Opravdu tam bude vždy jen unikátní vazba uid-gid. Teď to mám udělané tak, že uid a gid jsou prostě jen INDEXované, každé zvlášť. Takže by to mělo být takto?:
    UID - INDEX
    GID - INDEX
    UID + GID - PRIMARY
    

    Měl by stačit pouze primární klíč, ten lze použít i na vyhledávání dle UID. Případně ještě (podle typů dotazů) index nad GID. Také záleží, jakou to bude mít selektivitu, pokud bude 2mil uživatelů v 5 skupinách, tak bude procházení indexem na GID dražší než průchod celou tabulkou (potom je index jen režie navíc). Uvidíš podle prováděcího plánu.

    28.8.2010 13:01 prikes
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Já myslel že pokud je jakýkoliv index nad více sloupci, tady uid+gid, tak by měl vždy dotaz vypadat např. "SELECT * FROM groupmap WHERE uid = 44 AND gid = 41"? Proto jsem chtěl ještě přidávat zvlášť ty INDEXy na jednotlivé sloupce.
    Aleš Janda avatar 28.8.2010 16:12 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Je to tak, že když vytvoříš index nad více sloupci, např. nad UID + GID, tak ten index má tu vlastnost, že dokáže efektivně hledat i podle prvních 1..n sloupců. V tomto případě tedy dokáže efektivně vyhledávat i podle samotného UID (protože je v indexu jako první). Je to vlastně index „zadarmo“. Když prohodíš pořadí sloupců v indexu, tak samozřejmě bude efektivnější vyhledávat podle GID.

    Pokud ale vyhledáváš vždy podle obou sloupců, je to jedno.
    28.8.2010 17:31 prikes
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Abych to shrnul, pokud budu vyhledávat podle uid a gid najednou tak se vyplatí mít jen jeden primary index na uid+gid, pokud budu vyhledávat podle 1. sloupce uid, tak také stačí jeden primary key a je stejně efektivní jako jeden index na sloupci. Pokud budu ale vyhledávat jak podle uid, tak gid, dokonce i podle obou, tak je výhodné mít PRIMARY nad uid+gid + INDEX nad gid. Pochopil jsem to tak správně?
    Aleš Janda avatar 28.8.2010 17:34 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Přesně tak :-)

    Kdyžtak můžeš pro kontrolu napsat přímo SQL dotaz a zadat před něj EXPLAIN - řekne ti, podle jakých indexů se hledá, v čem apod., tedy jakou má ten dotaz složitost.
    28.8.2010 12:51 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Všecho si můžete ohídat v aplikaci a databázi degradovat na úložiště klíč=hodnota. Spousta ne příliš schopných programátorů se k tomuhle přístupu i velmi blíží (kdy třeba z databáze vytáhnou všechny záznamy a filtrují je pak v aplikaci). Já se snažím mít naopak v databázi co nejvíc toho jde – unikátnost, omezení hodnot, omezení vazeb atd. Pokud vím, že budu v aplikaci používat nějaké sloučení tabulek (JOIN), udělám si na to rovnou v databázi pohled a v aplikaci používám ten. A pokud vím, že budu používat nějaké složitější vkládání nebo aktualizace, které nevyřeší jednoduchý INSERT nebo UPDATE, udělám si na to uložené procedury. Sice to všechno jde dělat i v aplikaci, ale když to udělám takhle, vím, že k databázi může přistupovat i jiná aplikace, nebo že až budu potřebovat udělat zásah přímo do databáze (protože danou věc třeba aplikace neumí a nevyplatí se to programovat pro případ, který nastane jednou za rok), můžu všechno tohle použít a nemusím se bát, že databázi rozbiju.
    Heron avatar 28.8.2010 16:28 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Všecho si můžete ohídat v aplikaci a databázi degradovat na úložiště klíč=hodnota.

    To je také cesta, v tom případě bych ale navrhoval použít přímo key-value DB a ne ji simulovat v SQL.

    28.8.2010 10:41 FooBar
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Ackoliv to bude znit jako buzerace... plne souhlasim s komentarem vyse, vazne si neco precti o relacnich databazich (!= "tutorial k MySQL"), relacni teorii a normalizaci databaze. Jinak se ti taky muze stat, ze jednoho dne budes pracovat ve firme, kde navrhnes databazi, a nekdo ti kvuli tvymu navrhu utrhne rucicky i nozicky :)
    bazil avatar 28.8.2010 11:23 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    co já bych dal za možnost některým to udělat :-D
    28.8.2010 14:46 sivlk | skóre: 15 | blog: sivlk
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    > vazne si neco precti o relacnich databazich

    nejake konkretne publikacie nemas na mysli, mozu byt aj anglicke
    Aleš Janda avatar 28.8.2010 17:40 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Ještě k dotazu - někdy opravdu mívá smysl mít tabulku bez klíče. Třeba taková, která má jeden textový sloupec, vyhledává se v ní LIKE "%text%" a je víceméně readonly (protože se nelze odkázat na konkrétní řádek), tak tam fakt klíč nemá smysl. Ovšem praktická potřeba takové tabulky je přinejmenším sporná.

    Mnohem smysluplnější využití si ale umím představit záměrné neuvedení klíčů z důvodu rychlosti během naplnění - např. vytvořím tabulku a chci tam rychle dát milión řádků. To je lepší tam napřed ty řádky dát a klíče vytvořit až potom. Popř. pokud je to jen nějaká automaticky generovaná tabulka pro zálohu (která se mnohokrát přepisuje a prakticky nikdy nečte), pak to taky smysl má i bez klíčů.

    Jde ale o to, že tyto případy jsou tak řídké, že chybějící klíč je mnohem častěji spíše chyba návrhu než záměr.
    Josef Kufner avatar 14.9.2010 00:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: MySQL primární klíč za každou cenu?
    Použij EXPLAIN a sám se podívej, které indexy mají smysl a které ne. Někdy je dokonce lepší některé indexy odstranit, aby MySQL nemátly. Pokud do tabulky hodně zapisuješ a málo čteš, může být i výhodnější nemít indexy žádné, protože je potřeba jich udržovat.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vlákno • Nahoru

    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.