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 16:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Humor

    FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.

    Ladislav Hagara | Komentářů: 0
    14.2. 13:44 | IT novinky Ladislav Hagara | Komentářů: 0
    14.2. 03:44 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 25
    13.2. 19:22 | Komunita

    Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.

    Ladislav Hagara | Komentářů: 0
    13.2. 16:44 | Komunita

    Hector "marcan" Martin skončil jako vedoucí projektu Asahi Linux aneb Linux na Apple Siliconu. Projekt ale pokračuje dál.

    Ladislav Hagara | Komentářů: 52
    13.2. 16:33 | Nová verze

    PostgreSQL byl vydán ve verzích 17.3, 16.7, 15.11, 14.16 a 13.19. Řešena je zranitelnost CVE-2025-1094 s CVSS 8.1 a více než 70 chyb.

    Ladislav Hagara | Komentářů: 0
    13.2. 14:22 | Humor

    Dnes je Světový den rádia. Použili jste někdy GNU Radio?

    Ladislav Hagara | Komentářů: 11
    13.2. 12:33 | IT novinky

    Před 33 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    12.2. 19:44 | Nová verze

    Byla vydána nová verze 9.10 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov

    3.8.2011 19:54 monty
    mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    Přečteno: 265×
    ahojte, potreboval by som poradiť s týmto. V crone sa mi spúšťajú súbory (denne niekoľko tisíckrát rôzne súbory sa spustia). Po spustení každého súboru sa automaticky do db zapíše čas spustenia (prvý riadok na začiatku súboru) a po jeho ukončení sa zapíše čas ukončenia (posledný riadok na konci súboru php). Mám to tak preto, aby som vedel, keď niektorý súbor nedobehne do konca (napr.kvôli chybe, utne ho server, vyprší doba behu skriptu, atď). Týmto sa mi ale zbytočne plní databáza a po roku tam bude niekoľko miliónov riadkov, veľké auto increment idečka, skrátka bude veľká. Z môjho pohľadu ma nezaujímajú riadky v databáze, ktoré majú zapísaný začiatok i koniec behu súboru, lebo tým pádom je jasné, že súbor sa ukončil korektne. Moja myšlienka (laická) je taká, že by sa mala od týchto riadkov čas od času databáza odľahčiť, teda mohli by byť zmazané a zostať len tie riadky, ktoré napr. nemajú zapísanú hodnotu ukončenia (tých je úplné minimum). Ako by som to mal spraviť, aby databáza zbytočne nebola zaťažovaná riadkami, ktoré ma nezaujímajú? Čo radíte? Asi by bolo dobré aj nejako poupratovať auto increment hodnotu, aby zbytočne po vymazaní riadkov nepočítala a nezapisovala miliónové čísla, keď tie pred nimi sú voľné. Ďakujem za vaše rady už teraz.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (monty (tazatel))
    3.8.2011 20:22 Kit
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    Autoincrement neřeš. Miliardová čísla ID nejsou na závadu.

    Začátek skriptu můžeš udělat jako INSERT SET zacatek=now() a konec UPDATE SET konec=now().

    Při ukončení skriptu můžeš záznam smazat. Zůstanou jen neukončené.

    Pokud už máš tabulku naplněnu, pošli sem strukturu. Dá se to udělat celkem snadno přes spojení tabulky na sebe samu.

    Zvaž, jestli je na tuto úlohu nutná databáze a zda je nutné použít zrovna MySQL.
    3.8.2011 22:00 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    Databáze je ideální, protože kdyby to psal někam do souboru atd., tak musí řešit konkurenci. Tak max ještě nějaká nosql databáze možná, ale proč nad tím mudrovat, když v mysql to je rychle a bez problémů.
    Řešení 1× (monty (tazatel))
    3.8.2011 20:46 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    • Udělej autoincrement bigint a o jeho hodnotu se nestarej. Je jedno, jak je velkej a jestli v něm jsou či nejsou díry. Výkonnostně je to už úplně jedno.
    • Pokud úspěšné běhy logovat nepotřebuješ, zapisuj si do databáze i pid a místo zápisu času ukončení rovnou odmaž záznam s daným pid.
    • Několik milionů řádků pro databázi nic neznamená, nemusíš to řešit vůbec.
    3.8.2011 21:11 monty
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    ďakujem Vám za obom za usmernenie. Teší ma, že to pre db nebude problém. zase som o niečo chytrejší :-)
    4.8.2011 09:57 kuka
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    Pri tomto scenari tam muzes mit stovky milionu radku a bude to z hlediska vykonu pri zapisu asi celkem fuk (analyticke dotazy - pokud tam jsou potreba - jsou jina kapitola). Ale samozrejme treba zalohy ti usnadni, kdyz budes stara nepotrebna data cas od casu mazat.
    5.8.2011 12:30 VM
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    O limitech tabulky v MySQL: http://dev.mysql.com/doc/refman/4.1/en/full-table.html
    5.8.2011 16:41 Kit
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    Na druhou stranu je zbytečné udržovat data o kterých vím, že je nebudu potřebovat. Na zmíněnou úlohu by stačilo nějaké jednoduché KVS, relační databáze bych nechal pro jiné účely.
    5.8.2011 19:06 monty
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    čo znamená prosím KVS?
    5.8.2011 19:48 Kit
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    KVS je myšleno Key-Value Store. Databáze, do které se data ukládají pouze ve formě klíč->hodnota. Jinou strukturu nemá, záleží na fantazii a schopnostech programátora. Obvykle bývá velmi rychlá, řádově rychlejší než běžné relační databáze. V PHP jsou běžně dostupné např DB4 nebo GDBM a dost se na ně zapomíná.

    Jiným označením KVS je asociativní pole.
    5.8.2011 19:55 monty
    Rozbalit Rozbalit vše Re: mysql zamedzenie znižovaniu výkonu odstraňovaním nepotrebných riadkov
    vďaka za vysvetlenie

    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.