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 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 0
    dnes 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

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

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    2.12. 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

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

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    2.12. 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: MySQL databáze

    30.7.2013 00:14 Pavel | skóre: 17
    MySQL databáze
    Přečteno: 952×
    Zdravím, mám vytvořenou databázi v MySQL, do které ukládám data ze stránek PHP sciptem. Čas od času (cca 1x denně) bych potřeboval řádky v tabulce projet, 30 z nich vybrat a ty uložit do jiné tabulky. V čem je nejlepší takovýto program napsat? Zkušenosti mam s c/c++ ale jen pod windows. Ale nedokážu si představit jak přistupuju k databázi. Měl bych ještě jednu otázku: Jsou databáze uloženy jen na disku a tedy každý přístup do ní znamená činnost disku? Jestli ano, co takhle zrcadlení do RAM pro čtení databáze?

    Řešení dotazu:


    Odpovědi

    30.7.2013 00:33 Kit
    Rozbalit Rozbalit vše Re: MySQL databáze
    Nejlépe bude, když to napíšeš také v PHP. Je to vlastně jen zavolání jednoho SQL dotazu, v PHP nebude skoro nic navíc.

    Databáze MySQL sice sídlí na disku, ale v RAM si sama vytváří cache, která s přístupy na disk šetří jak umí. Zrcadlení do RAM je zpravidla zbytečné.
    30.7.2013 01:00 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: MySQL databáze
    Pokud to budu dělat v PHP tak budu muset vyřešit aby se ten program spustil každý den pouze jednou. Jinak ta stránka v PHP se bude volat z klienta v rozmezí 5-60 vteřin, takže nemůžu naplánovat aby to přesně v 0:00 provedlo kopírování. Jak by pak vypadl SQL dotaz? Otevření první tabulky, SELECTem vybrat co chci, zkopírovat do pole, uložit do druhé tabulky?
    Řešení 1× (rADOn)
    30.7.2013 01:28 Kit
    Rozbalit Rozbalit vše Re: MySQL databáze
    Spouštění vyřešíš cronem.

    Ten SQL dotaz by mohl vypadat například takto:
    INSERT INTO tab2 (pole1, pole2)
       SELECT aa1, aa2 FROM tab1
          ORDER BY datum DESC LIMIT 3O;
    Kopírování do pole nedoporučuji, zbytečně by to prodloužilo dobu zpracování.
    30.7.2013 02:58 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: MySQL databáze
    takle by to bylo v případě že chci posledních 30 hodnot, ale pokad budu mít 16 sloupců(čas, hodnota1, hodnota2,...hodnota15) a budu chtít třeba za posledních 24hodin najít v každém sloupci minimum a maximum a tuto hodnotu uložit společně s časem do druhé tabulky, tak už pole použít musim, abych to projel ne? Jak by pak měl vypadat formát druhé tabulky? Momentálně má 3 sloupce. První obsahuje hodnota1min, hodnota1max, hodnota2min,hodnota2max,... a slouží pouze jen k přehlednosti, ve druhém jsou hodnoty a ve třetím sloupci čas.
    30.7.2013 09:00 Kit
    Rozbalit Rozbalit vše Re: MySQL databáze
    ...řádky v tabulce projet, 30 z nich vybrat a ty uložit do jiné tabulky...
    Samozřejmě čím víc normalizačních pravidel ta první tabulka porušuje, tím bude SQL dotaz složitější.
    30.7.2013 11:42 Karlos
    Rozbalit Rozbalit vše Re: MySQL databáze
    Tabulku bych novou nedělal. vytvořil bych si jeden dotaz (přes group by nad date, vyhledat min a max) a aplikoval na původní. Buď se dá vytvořit view, nebo se ten dotaz nechá generovat v php podle naklikaných předvoleb (nebo obojí). Pokud se nejedná o tisíce řádků za den, tak to problém nebude.
    rADOn avatar 30.7.2013 16:40 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: MySQL databáze
    mysql dbname <<EOF
    INSERT INTO table2 (hodnota1_max)
    SELECT max(hodnota1) FROM table1
    WHERE … ;
    
    INSERT INTO table2 (hodnota2_max)
    SELECT max(hodnota2) FROM table1
    WHERE … ;
    
    …
    EOF
    
    Napises do shellskriptu, pustis z cronu. php netreba. sql nema pole ve smyslu php, ale to neznamena ze neumi pracovat s mnozinami hodnot. Pokud to pujde, drz se holeho sql, byt je to syntakticky obcas dost pres ruku. Vetsina slozitejsich veci by sla napsat v shellu, coz bude z hlediska cronu porad jeste "nativni" a snaze laditelne. Na opravdu komplikovane ulohy se obvykle pouziva perl, python, ruby nebo nejaky jiny univerzalni skriptovaci jazyk. Phpcko ne, to je jazyk na delani webu a vsude jinde spis prekazi. C/C++ taky ne, to je na zasadni veci kde potrebujes maximalni vykon a pocitas kazdou mikrosekundu.

    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    rADOn avatar 30.7.2013 16:50 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: MySQL databáze
    … Měl bych ještě jednu otázku: Jsou databáze uloženy jen na disku a tedy každý přístup do ní znamená činnost disku? Jestli ano, co takhle zrcadlení do RAM pro čtení databáze?
    Nevrtej do toho. Databaze maji spoustu vlastnich vyrovnavacich pameti, system take, a narozdil od tebe pri jejich pouzivani dbaji na transakcni izolaci a konzistenci dat. Jestli mas problem s vykonem a prebytky pameti, tak polad velikost buffer poolu a query cache.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco

    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.