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í
×
    včera 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 9
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (25%)
     (19%)
     (6%)
     (6%)
     (3%)
     (6%)
     (3%)
     (31%)
    Celkem 32 hlasů
     Komentářů: 4, poslední včera 16:33
    Rozcestník

    Dotaz: mysql update

    5.10.2010 17:29 Song
    mysql update
    Přečteno: 415×

    Ktory z nasledujucich sposobov je setrnejsi na zataz databazy ak by sa jednalo o dotazy ovplivnujuce nie len 3 riadky ako v priklade ale niekolko 100-1000 riadkov v tabulke .

    $result = mysql_query("UPDATE `c1` SET `sklad`='neobjednatelne',`viditelnost`='ano',`cena`='19' WHERE `id` =6;") or die(mysql_error());

    $result = mysql_query("UPDATE `c1` SET `sklad`='neobjednatelne',`viditelnost`='nie',`cena`='20' WHERE `id` =7;") or die(mysql_error());

    $result = mysql_query("UPDATE `c1` SET `sklad`='neobjednatelne',`viditelnost`='ano',`cena`='21' WHERE `id` =8;") or die(mysql_error());

     

    $result = mysql_query("

    UPDATE `c1` SET `sklad` = CASE

    WHEN `id`='6' THEN 'neobjednatelne'

    WHEN `id`='7' THEN 'neobjednatelne'

    WHEN `id`='8' THEN 'neobjednatelne' ,

    `viditelnost` = CASE

    WHEN `id`='6' THEN 'ano'

    WHEN `id`='7' THEN 'nie'

    WHEN `id`='8' THEN 'ano' ,

    `cena` = CASE

    WHEN `id`='6' THEN '19'

    WHEN `id`='7' THEN '20'

    WHEN `id`='8' THEN '21'

    WHERE `id`='6' OR `id`='7' OR `id`='8';") or die(mysql_error());

    Odpovědi

    5.10.2010 17:41 Sten
    Rozbalit Rozbalit vše Re: mysql update
    Pokud používáte transakce, tak ten první je vhodnější, u toho druhého bude stát velký výpočetní výkon ten dotaz vůbec zkompilovat a změny nakonec provede stejné.

    Pokud transakce nepoužíváte, tak ten první dělá něco jiného než ten druhý!
    5.10.2010 18:19 Song
    Rozbalit Rozbalit vše Re: mysql update

    Transakce?

    Ja len, sice je ten druhy dotaz komplikovany, ale zas to vykona v jednom mysql_query,

    pricom prvy sposob tych mysql_query uroby x-krat viac. Ale neak hlbsie do toho nevidim,

    aby som vedel zhodnotit co je lepsie.

    6.10.2010 15:31 vlasta | skóre: 10 | Brno
    Rozbalit Rozbalit vše Re: mysql update
    No ja bych se primlouval k tomu prvnimu, protoze tam bude naprosto jasne, co to ma udelat i 14 dni po te, co ten kod nadatlis a hlavne se v tom lepe budou hledat pripadne nesrovnalosti. Nejlepsi by bylo si udelat prepared statement a pak ho protocit s tema datama. Usetris db testovani tech milionu CASEu u kazdeho zaznamu a nebudes si rvat vlasi pri tvorbe algoritmu na vygenerovani toho silenyho updatu. Hlavne bys mohl taky narazit na to, ze te db posle k sipku, protoze je to na parsovani moc velky, napr. pri pouziti klauzule IN misto tech ORu na limit velikosti vyctu urcite narazis uz pri par tisicich polozkach.
    6.10.2010 16:53 Sten
    Rozbalit Rozbalit vše Re: mysql update
    Pokud nevíte, co transakce jsou, tak je nepoužíváte :-)

    Bez transakcí ten první způsob, pokud selže nějaká query, tak předchozí query změní část databáze, zatímco ten druhý způsob je vždy buď vše anebo nic. Proto ty způsoby nejsou totožné. (A proto bych vám doporučil transakce začít používat.)

    Kolik těch query se provede, je MySQL celkem jedno, pokud tam nemáte InnoDB tabulky a neměníte primární klíče, tak to nemá moc vliv, parsovat tu šílenost s CASE stojí hodně času a běh je potom dost pomalý. Nehledě na to, že brzy narazíte na limity.

    Nejrychlejší jsou prepared statements (tipuji, že používáte PHP, tam je to ještě jednodušší), kam jenom doplňujete data, protože to MySQL rozparsuje jenom jednou a bude to jednoduchý dotaz. Také to pro vás bude nejpřehlednější.

    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.