abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 1
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    včera 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

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

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    28.4. 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    28.4. 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    23.3.2012 05:39 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Jak v postgresu na indexované vyhledávání podle n-tého znaku ve sloupci
    v 9.1 lze pouzit trigramy a indexovat i like, kde je zolik vlevo.

    Jinak asi by bylo mozne navrhnout i neco efektivnejsiho, ale vyzadovalo by to vlastni typ indexu - a vicemene psani v C. Pak by to asi mohlo byt opravdu efektivni

    Pripadne si pro kazdou pozici muzete udelat index - ale nejde to tak jak si predstavujete.
    CREATE TABLE foo(s text);
    CREATE INDEX ON foo USING GIN ((substring(s FROM 1 FOR 1));
    CREATE INDEX ON foo USING GIN ((substring(s FROM 2 FOR 1));
    CREATE INDEX ON foo USING GIN ((substring(s FROM 3 FOR 1));
    
    SELECT * FROM foo WHERE substring(s FROM 3 FOR 1) = 'x';
    
    tahle podminka bude mit dost mizernou selectivitu - dost mozna ze problem je jenom v like a stacilo by nepouzivat like
    SELECT * FROM foo WHERE substring(s FROM 3 FOR 1) = 'x';
    
    Jeste by slo pouzit hstore:
    postgres=# create or replace function pack(text)
    returns hstore as $$
    SELECT string_agg(i || '=>' || substring($1 FROM i FOR 1),',')::hstore 
    FROM generate_series(1,length($1)) g(i); $$ 
    LANGUAGE sql IMMUTABLE;
    CREATE FUNCTION
    postgres=# select pack('Pavel');
                           pack                       
    --------------------------------------------------
     "1"=>"P", "2"=>"a", "3"=>"v", "4"=>"e", "5"=>"l"
    (1 row)
    
    postgres=# select * from xx;
       a   
    -------
     Pavel
    (1 row)
    
    postgres=# CREATE INDEX ON xx USING GIN((pack(a)));
    CREATE INDEX
    
    postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v';
       a   
    -------
     Pavel
    (1 row)
    
    postgres=# set enable_seqscan to off;
    SET
    postgres=# explain SELECT * FROM xx WHERE pack(a) @> '3=>v';
                                    QUERY PLAN                                 
    ---------------------------------------------------------------------------
     Bitmap Heap Scan on xx  (cost=12.25..16.51 rows=1 width=32)
       Recheck Cond: (pack(a) @> '"3"=>"v"'::hstore)
       ->  Bitmap Index Scan on xx_pack_idx  (cost=0.00..12.25 rows=1 width=0)
             Index Cond: (pack(a) @> '"3"=>"v"'::hstore)
    (4 rows)
    
    postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v, 4=>e';
       a   
    -------
     Pavel
    (1 row)
    
    postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v, 4=>x';
     a 
    ---
    (0 rows)
    
    Ale co bude rychlejsi netusim - hstore je hodne genericky, takze pokud by tam byla nizka selectivita, tak by to nemuselo byt efektivni

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.