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 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    dnes 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 0
    dnes 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

    Ladislav Hagara | Komentářů: 0
    dnes 16:55 | Komunita

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 10
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    12.9. 12:00 | Zajímavý článek

    Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).

    |🇵🇸 | Komentářů: 20
    12.9. 05:33 | Bezpečnostní upozornění

    Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.

    Ladislav Hagara | Komentářů: 0
    11.9. 22:00 | Komunita

    V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.

    Ladislav Hagara | Komentářů: 16
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Filtrování podle štítků - pomohou SQL experti?

    8.9.2008 16:27 | Přečteno: 1560× | AbcLinuxu

    Máme v plánu umožnit filtrování poradny pomocí štítků, což by mělo fungovat jako náhrada za původní strukturu poraden (bug #1091).

    Naše snahy mají ovšem vadu na kráse. Chceme umožnit, aby uživatel mohl zadat podobný filtr:

    (nvidia OR ati) AND ubuntu AND NOT fglrx

    Filtrování může takto fungovat díky štítkům. Potýkáme se ovšem s tím, že vyhledávání trvá příliš dlouho (typicky 5 sekund) a je to velká zátěž na databázi. Našli by se mezi vámi odborníci, kteří by dokázali poradit, jak věc zefektivnit?

    Zde najdete dump databáze (3,2 MB), kde jsou dvě tabulky - relace a stitkovani. U relace je důležité cislo (identifikuje "stránku" v systému, se kterou kód může dále pracovat), potomek nesoucí číslo datové položky v systému, typ_potomka, kde nás zajímají jen relace s hodnotou 'P', a predchozi, pomocí kterého se můžeme omezit na Linuxovou poradnu (číslo 49490).

    V tabulce stitkovani jsou sloupečky typ (opět nás zajímá vždy hodnota 'P'), cislo (které se musí provázat se sloupcem relace.potomek - pozor, ne s relace.cislo!) a stitek obsahující označení samotného štítku.

    Jeden z našich pokusů o vyhledání relací, které splňují podmínku (nvidia OR ati) AND ubuntu, vypadá takto:

    select count(R.cislo) from relace R where R.typ_potomka='P' and
    R.predchozi=49490 and exists (select S.cislo from stitkovani S where S.typ =
    'P' and S.cislo = R.potomek and (S.stitek='nvidia' or S.stitek='ati')) and
    exists (select S.cislo from stitkovani S where S.typ = 'P' and S.cislo =
    R.potomek and S.stitek='ubuntu');

    Vrátí celkem 380 relací za cca 5 sekund, resp. o něco méně při opakování.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.9.2008 17:00 janik | blog: janko
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    $ time mysql -u ab ab < orig.sql
    count(R.cislo)
    380

    real 0m1.936s
    user 0m0.011s
    sys 0m0.007s
    $ time mysql -u ab ab < new.sql
    count(R.cislo)
    380

    real 0m0.273s
    user 0m0.012s
    sys 0m0.004s

    SQL prikaz:
    select
        count(R.cislo)
    from
        relace R
        LEFT JOIN stitkovani nvidia ON (nvidia.cislo = R.potomek AND nvidia.stitek='nvidia' AND nvidia.typ = 'P')
        LEFT JOIN stitkovani ati ON (ati.cislo = R.potomek AND ati.stitek='ati' AND ati.typ = 'P')
        LEFT JOIN stitkovani ubuntu ON (ubuntu.cislo = R.potomek AND ubuntu.stitek='ubuntu' AND ubuntu.typ = 'P')
        LEFT JOIN stitkovani fglrx ON (fglrx.cislo = R.potomek AND fglrx.stitek='fglrx' AND fglrx.typ = 'P')
    WHERE
        R.typ_potomka = 'P' AND R.predchozi=49490 AND
        ((nvidia.cislo IS NOT NULL OR ati.cislo IS NOT NULL) AND ubuntu.cislo IS NOT NULL AND NOT fglrx.cislo IS NOT NULL)

    8.9.2008 19:41 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?

    A pokud si chceme trochu zaprasit...

    $ time mysql abc_test < new.sql
    count(R.cislo)
    380
    
    real    0m0.558s
    user    0m0.016s
    sys     0m0.004s
    $ time mysql abc_test < q.sql
    count(r.cislo)
    380
    
    real    0m0.187s
    user    0m0.008s
    sys     0m0.004s
    $ cat q.sql
    
    select
            count(r.cislo)
    from
            (
            select
                    s.cislo
            from
                    stitkovani s
            where
                    s.typ = 'P'
                    and s.stitek in ('nvidia', 'ati', 'ubuntu', 'fglrx')
            group by
                    s.cislo
            having
                    bit_or(s.stitek = 'nvidia' or s.stitek = 'ati') = 1
                    and bit_or(s.stitek = 'ubuntu') = 1
                    and bit_or(s.stitek = 'fglrx') = 0
            ) s
            join relace r on (s.cislo = r.potomek)
    where
            r.typ_potomka = 'P'
            and r.predchozi = 49490
    ;
    
    Luboš Doležel (Doli) avatar 8.9.2008 23:45 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Tak jsem napsal parser vyhledávacích výrazů, který pomůže vygenerovat obdobné SQL. Díky moc, je to dost rychlé :-)
    Josef Kufner avatar 8.9.2008 21:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Místo toho kopce joinů by se dal použít jeden a spočítat, kolik se jich trefilo. Něco jako:
    SELECT R.cislo, COUNT(s.stitek)
    FROM
        relace R
        LEFT JOIN stitkovani s ON (s.cislo = R.potomek AND s.typ = 'P')
    WHERE
        R.typ_potomka = 'P' AND R.predchozi=49490 AND
        s.stitek IN ('ati', 'nvidia', 'ubuntu', 'fglrx')
    GROUP BY R.cislo
    HAVING count(s.stitek) = 4
    
    Nezkoušel jsem to, jen mě to tak napadlo. Ale nenapadá mě, jak do toho zakomponovat ty ostatní operace (or, not).
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 8.9.2008 21:46 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Něco podobného jsem napsal taky a taky jsem nevěděl, jak zařadit takové operace. Nicméně to, co napsal Sinuhet, vypadá dobře :-)
    Josef Kufner avatar 8.9.2008 22:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Hmm... ono ty operace vlastně ani nejsou moc potřeba, rozhodně ne všechny.

    Když se dotaz převede do tvaru DNF, tak stačí zprovoznit operace A AND B, NOT C a X OR Y, aby se dalo spočítat (A AND B) OR (A AND NOT C). A tohle stačí na vyhodnocení jakéhokoliv výrazu.

    A AND B jsem napsal před chvílí, X OR Y zvládne UNION. Takže zbývá vyřešit operaci NOT C.
    Hello world ! Segmentation fault (core dumped)
    rADOn avatar 8.9.2008 19:00 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    a co na to rika EXPLAIN ? ja bych tipnul ze neco ve smyslu ze ty subselecty jedou fulscanem
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    8.9.2008 20:10 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    To je v linkovane chybe.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    8.9.2008 19:25 Ignor
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Tak SQL expert teda opravdu nejsem, což ale mi nebrání k tomu něco říct. Kdybych to dělal já, tak bych jednoznačně měl tabulku stitky, kde by byly... štítky. A do tabulky stitkovani bych strkal místo řetězce odkaz na klíč do tabulky stitky. Nad tím integerem by se navíc dělal index mnohem příjemnějc než nad varchar(30).

    A docela by mě zajímalo jak by to vypadalo, kdyby se použila (první co mě napadne) možnost 'and' dělám 'intersect' a 'or' dělám 'union'.
    9.9.2008 08:14 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    No a zrovna od tebe bych čekal spíš, že řekneš, že tohle patří do databázové poradny ;-)
    When your hammer is C++, everything begins to look like a thumb.
    Josef Kufner avatar 8.9.2008 20:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    Nezapomeňte na minimalizaci dotazu, který uživatel zadá (pokud to již neděláte).

    ps: Místo hradel si tam představ sql dotaz ;)
    Hello world ! Segmentation fault (core dumped)
    8.9.2008 21:02 depka | skóre: 20 | blog: eterity
    Rozbalit Rozbalit vše Re: Filtrování podle štítků - pomohou SQL experti?
    pouziva vubec nekdo ty stitky?

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.