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 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    dnes 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Zajímavý článek

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    dnes 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    včera 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 19
    včera 16:33 | IT novinky

    Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.

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

    Na GitHubu byl publikován seznam 55 kritických bezpečnostních chyb v SQLite s přiřazenými CVE čísly. JFrog Security informuje, že se jedná jenom o AI slop, části kódu na které CVE odkazují, v daných verzích vůbec neexistují. Upozorňuje také, že čísla CVE jsou přiřazována bez ověřování.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2320 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: mysql - časově oddělené vykonání query

    25.4.2014 09:56 belpir
    mysql - časově oddělené vykonání query
    Přečteno: 813×
    Dobrý den, jakým způsobem mohu rozdělit vykonání mysql query do menších úseků tak, aby nedošlo k zatížení chodu databáze?

    př. 20000 menších databází s celkovou velikostí 200 GB. Potřebuji spustit query, která projde všechny databáze, ovšem spuštění najednou by způsobilo vytvoření dlouhé fronty požadavků, čímž by přestala databáze odpovídat na regulérní dotazy, pro které byla určena, tudíž by došlo k výpadkům funkčnosti.

    Napadlo mě rozdělit vykonání query tak, aby se vykonala pro každou databázi s časovým timeoutem po vykonání. tedy po lopatě: Proveď požadavek na jedné databázi -> 0,02 nic nedělej -> proveď požadavek na druhé databázi -> 0,02s nic nedělej -> ... atd. Tím by zde byl prostor pro vyřízení regulérních query a fronta dotazů by nerostla. Je-li tento předpoklad správný, jakým způsobem se dá do query vložit časový interval, kdy query nebude nic dělat, tzn 0,02 s z předchozího příkladu?

    Konkrétní mysql query slouží pro výpis velikostí DB, viz níže:

    SELECT table_schema 'Data Base Name', sum( data_length + index_length ) / 1024 / 1024 'Data Base Size in MB' FROM information_schema.TABLES GROUP BY table_schema ;

    Za pomoc předem děkuji.

    Odpovědi

    rADOn avatar 25.4.2014 10:39 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    25.4.2014 11:36 belpir
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    sleep(duration) se dá použít jen jako další SELECT, tzn. nejprve se spustí query nad všemi databázemi a pak, na závěr, se provede sleep. Spíše bych potřeboval, je-li to možné, aby se sleep(duration) provedl mezi jednotlivými opakováními stejného SELECTu, tedy po ukončení dotazu nad jednou databází a před přechodem k další databázi.
    25.4.2014 17:30 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    Třeba pomocí procedury:
    use mysql;
    DELIMITER $$
    DROP PROCEDURE IF EXISTS databaze $$
    CREATE PROCEDURE databaze()
    BEGIN
      DECLARE _table_schema VARCHAR(64);
      DECLARE exit_loop BOOLEAN;
      
      DECLARE databases_cursor CURSOR FOR 
        SELECT SCHEMA_NAME FROM information_schema.SCHEMATA;
        
      DECLARE CONTINUE HANDLER FOR NOT FOUND SET exit_loop = TRUE;
      
    --  CREATE TEMPORARY TABLE IF NOT EXISTS _databaze (DABATASE_SCHEMA varchar(64), DATABASE_SIZE double);
    --  TRUNCATE TABLE _databaze;
      
      OPEN databases_cursor;
      databases_loop: LOOP
         FETCH databases_cursor INTO _table_schema;
         IF exit_loop THEN
             CLOSE databases_cursor;
             LEAVE databases_loop;
         END IF;
    --     INSERT INTO _databaze 
          SELECT 
            TABLE_SCHEMA `SCHEMA`, SUM( data_length + index_length ) / 1024 / 1024 `SIZE` 
          FROM 
            information_schema.TABLES 
          WHERE 
            TABLE_SCHEMA = _table_schema
          ;
         DO SLEEP(1);
       END LOOP databases_loop;
    --   SELECT * FROM _databaze;
    --   DROP TEMPORARY TABLE _databaze;
    END$$
    DELIMITER ;
    call databaze();
    
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    26.4.2014 09:04 jekub
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    Konkrétní mysql query slouží pro výpis velikostí DB

    man du
    28.4.2014 14:15 belpir
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    du je v tomto případě nepoužitelné. Potřebuji skutečnou velikost, kterou aktuálně zabírají data v databázích, ne pouze velikost souborů na filesystému.

    Problém vyřešen. Nakonec jsem obnovil zálohu všech DB v testlab serveru a spustil query tam. Metodu od uživatele "blondak" jsem již nezkoušel

    Děkuji vám všem za pomoc.
    4.5.2014 11:10 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: mysql - časově oddělené vykonání query
    Toto sa normalnym sposobom urobit neda. Urob to aplikacne mimo MySQL v nejakom cykle - najskor ziskaj zoznam vsetkych databaz a potom nad nimi postupne volaj ten SELECT.

    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.