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 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 3
    včera 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

    Ladislav Hagara | Komentářů: 6
    včera 14:44 | Nová verze

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.

    VSladek | Komentářů: 0
    7.4. 21:55 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.

    Ladislav Hagara | Komentářů: 0
    7.4. 10:22 | Komunita

    Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání

    … více »
    Ladislav Hagara | Komentářů: 9
    6.4. 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout

    … více »
    bkralik | Komentářů: 3
    5.4. 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    5.4. 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 8
    5.4. 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (24%)
    Celkem 1245 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak

    10.9.2012 18:54 Amatherus
    Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Přečteno: 2058×
    Poradil by někdo sql dotaz, který by v tabulce s názvem insert a sloupci s názvem url přepsal znak _ za znak - ? Děkuji

    Odpovědi

    10.9.2012 19:37 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    To je to takovej problém se kouknout do dokumentace na funkce mysql?

    UPDATE `insert` SET url = replace('_', '-', url)
    10.9.2012 19:44 Amatherus
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Díky ale tohle nechci, za prvé to máš špatně, má to být takto ;) a za druhé ten příkaz umře, proto to s ním nejde :-(
    UPDATE `insert` SET url = replace( url, '_', '-')
    10.9.2012 20:06 Marek
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    To znamena co, ze umre? Dotaz je v poradku, takze jestli je nekde nejaky problem, je treba ho vyresit a ne se snazit najit zpusob jak to obejit. 100M radku neni zas takovy des.
    10.9.2012 20:52 Amatherus
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    No myslím tím to, že pokud již zmíněný sql dotaz spustím, tak se provede pouze na cca 500 000 row, nasleduje ukončení bez error hlášky, zkoušel jsem projet i kontrolu celé db pomocí mysqlcheck a žádný problém nezjištěn.
    10.9.2012 21:42 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    A rozdělit ho do několika dávek nepomůže?
    10.9.2012 22:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Jak ho spouštíte?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.9.2012 23:46 Amatherus
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Pouštím to přímo z command line...
    10.9.2012 23:25 Marek
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Nejedna se o timeout? Jak sql poustite? Jak jsou na tom systemove prostredky ve chvili, kdy to spadne? Neni na sloupci nejaky index, ktery by vse neumerne zpomaloval?
    10.9.2012 23:48 Amatherus
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Nejedna se o timeout?
    myslím že určitě ne
    Jak jsou na tom systemove prostredky ve chvili, kdy to spadne?
    nerozumím
    Neni na sloupci nejaky index, ktery by vse neumerne zpomaloval?
    taky nerozumím
    11.9.2012 07:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Index a na upravovaném sloupci to může hodně zpomalit, ale nemělo by se to ukončit „jen tak“.
    Rychlé řešení, které nedoporučuji je …ORDER BY `ID` LIMIT 0,200000; …ORDER BY `ID` LIMIT 200000,400000; atd…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.9.2012 21:51 předevčírem
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    limit ma syntaxi offset, row_count, a muze se stat, ze se nektere radky nezpracuji, trebas pokud odeberes zaznamy mezi dvema updaty. lepsi je takto: where id > 0 and id <= 10000, where id > 10000 and id <= 20000, ... az do max(id)
    12.9.2012 09:37 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Ano - chce to kontrolu,. S WHERE zas může být problém, že ID jsou velmi nepravidelně rozmístěna a bez nějaké hlubší analýzy se bude muset příkaz volat o hodně vícekrát.
    Bral jsem to jako rychlé řešení a není problém si na konci ověřit kolik řádků obsahuje ještě daný znak.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.9.2012 08:43 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Myslím že ne na základě čeho? V každém případě, spusťte to na několikrát s limitem...
    Josef Kufner avatar 7.10.2012 23:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    myslím že určitě ne
    To jsi napsal pěknou blbost ;-)
    Hello world ! Segmentation fault (core dumped)
    pavlix avatar 11.9.2012 00:28 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Toto mělo být součástí dotazu, aby to nebyl totálně lamerský dotaz, který samozřejmě dostane správnou odpověď, která ti z nějakého nefunguje :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Heron avatar 25.9.2012 16:08 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    To je dost zvláštní, ten dotaz by měl běžet v transakci a pokud "umře", tak se provede rollback celé transakce. Stav, kdy to umře v polovině a některé řádky jsou změněné a jiné ne je hodně špatný.
    11.9.2012 08:39 jekub
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Urcite bych do update pridal jeste podminku, zda url vubec nahrazovany znak obsahuje. Mozna to ale MySQL dela sama (neznam) a proto opravi jen tech 500k radku.

    ps: insert jako jmeno tabulky je takove ... svojske :-)
    11.9.2012 09:20 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Blbina. Na to zjistit jestli tam znak je se to stejně musí přečíst a update řádek kterej nic nedělá je levnej (v mysl snad nic neprovede).
    11.9.2012 09:59 jekub
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Takze napr.
    update `insert` set url=url
    nic nedela? A bude to levne i v pripade existence triggeru a constraintu na tabulce, resp. sloupci?
    11.9.2012 13:10 DK
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    to je jako reagovat na namitku, ze tygr v zoo ti nic neudela, vetou "takze kdyz potkas tygra v africe, tak ti nic neudela? a ani s organy?"
    11.9.2012 16:12 jekub
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Takze update na celou tabulku je v MySQL stejny jako update na vybrane zaznamy (tj. pouze ty, ktere obsahuji znak _). Zadne zamky, zadna konkurennce? Zadne zbytecne fyzicke zapisy na disk?
    11.9.2012 16:22 jekub
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    a kdyz uz sme u tech analogii, tak v zoo tygr nejspis navstevnikum (~ uzivatelum) nic neudela, osetrovatel (~ spravce) by mel ale byt obezretny a k tygrovi se chovat jako by byl "na volno" (ten tygr).
    Heron avatar 25.9.2012 16:11 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Nemusí dělat hledání toho znaku, to by bylo hodně drahé. MySQL client zobrazuje kolik řádků se změnilo (a nikoliv kolik řádků bylo součástí datasetu).

    Jo, pojmenovat tabulku klíčovým slovek je hodně ... přidělávající problémy.
    11.9.2012 22:07 předevčírem
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    kolik je ti, prosim te, let, ze si myslis, ze tady budeme cist tvoje myslenky? ptal ses na sql dotaz, dostal jsi sql dotaz. jestli jsi ve skutecnosti chtel vedet, proc tvuj sql dotaz nedobehne, tak jsi to mel napsat do dotazu, a ne ze se zeptas na sql dotaz, dostanes sql dotaz, a ty na to napises, ze tohle nechces, ale vlastne chces neco uplne jineho, co s puvodnim dotazem vubec nesouvisi.
    11.9.2012 09:38 Ivo
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    UPDATE `insert` SET url = replace('_', '-', url) where url like '%_%';

    a spustil by som to niekolko krat za sebou kym to nevrati 0 riadkov updated
    11.9.2012 16:54 kuka
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Hm tak toto je v zasade pouze prepsane not null, podtrzitko v like matchuje libovolny znak.
    11.9.2012 18:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Doufám, že máte zálohu…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.9.2012 20:39 jekub
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    proc?
    11.9.2012 22:01 l4m4
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    No schválně, co ten příkaz udělá?
    pavlix avatar 11.9.2012 22:58 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    +1
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    12.9.2012 09:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Je tak těžké si to zkusit?
    Uvedený příkaz má v sobě velkou chybu, díky které ničí nalezené url a chybu, díky které ničí všechna url.
    A napovím těmito ukázkami:
    SELECT REPLACE('_','-','Very important string') AS suprise;
    +---------+
    | suprise |
    +---------+
    | _       |
    +---------+
    
    SELECT COUNT(*) FROM `kuk2`;
    +----------+
    | COUNT(*) |
    +----------+
    |        5 |
    +----------+
    
    SELECT * FROM `kuk2` WHERE `t` LIKE '%_%';
    +------+
    | t    |
    +------+
    | aaa  |
    | a%a  |
    | a-a  |
    | a_a  |
    | %_%  |
    +------+
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Heron avatar 25.9.2012 16:13 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    a spustil by som to niekolko krat za sebou kym to nevrati 0 riadkov updated

    Proboha! SQL je deterministické, pokud je ten příkaz napsaný správně, tak se transkakce dokončí celá už napoprvé a pokud není, tak se změny vrátí zpět. Neexistuje žádná situace, kdy se to zkouší, dokud to omylem nedoběhne.

    11.9.2012 23:09 d.c. | skóre: 30
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Doufam, ze to nebudete brat jako OT, ale resil jsem pred nedavnem podobny problem (jen to bylo asi 130 mil. radku) a na testovacim stroji jednoduchy update dobehl asi do 30 % po dvou dnech (kdy jsem se k tomu vratil a vypnul to). Uprava dumpu pomoci kolony v shellu (hlavnim akterem sed) trvala cca 6 sec.
    12.9.2012 14:27 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    ja som riesil upravu cca 1,5 miliona riadkov a tiez som narazil na problem s rychlostou. Ako by sa dalo ocakavat, tak stacilo zacat tranzakciu pred takym updatom a v momente dokoncenia ju potvrdit. Cele updatovanie trvalo nepomerne kratsie. Ono sa to az dalo ocakavat, ale nenapadlo ma to hned.
    Josef Kufner avatar 7.10.2012 23:54 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    InnoDb automaticky zahajuje a ukončuje transakci kolem každého dotazu. Tím, že to obalíš do jedné transakce, tahle režie odpadne. Případně ještě může pomoct odstranění/zakázání indexu na modifikovaném sloupci.
    Hello world ! Segmentation fault (core dumped)
    8.10.2012 13:25 George O.
    Rozbalit Rozbalit vše Re: Jak nahradit v Mysql cca ve 100 000 000 řádcích znak
    Docela jasny timeout DB connection IMHO, standartne byva nekde kolem jedne minuty, pokud nenastavis jinak a protoze jsi reagoval stylem "myslim, ze se nejedna o timetout", tim padem je jasne, ze jsi jej asi nenastavil na nejakou mnohem vyssi, nez defaultni hodnotu, kdyz to nevis jiste :-)

    Update s offsetem to vsechno resi. Nechapu tu omacku tady kolem toho. Mozna je nejake idealnejsi reseni, nez offset, ale proc resit detaily, kdyz mame naprosto jednoduche, rychle a hlavne bezpecne reseni :-)

    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.