Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Řešení dotazu:
(pro Sheldona: „to je nadsázka“).
Nezarucene info:
U Oracle funguje/fungoval WHERE lepsie tam, kde mu to napovie. Ked robis nejaky JOIN cez 20 tabuliek a az na konci das WHERE, tak to Oracle bezne nezvlada. Ked preusporiadas WHERE lepsie alebo pouzijes WHERE namiesto JOINu, tak je to niekedy lepsie.
Celkovo to pomaha, ak ide o 1 hodnotu - teda ... WHERE x = (SELECT ...).
U Oracle u nejakeho podivneho nastavenia mi to tusim fungovalo tak, ze INNER JOIN uprednostnoval FULL SCAN tabuliek a WHERE uprednostnoval FULL scan 1 tabulky a vyhladavanie jednotlivych matchujucich zaznamov v druhej tabulke - tj WHERE sa choval horsie v beznych situaciach. Mozno islo len o zhodu nahod alebo som si to pomylil s vecou spominanou v predchadzajucom odstavci.
Celkovo odporucam skusit a prezriet si, ako sa to vykonava.
postgres=# EXPLAIN SELECT c.* FROM pg_class c JOIN pg_index i ON c.oid = i.indexrelid;
QUERY PLAN
────────────────────────────────────────────────────────────────────────
Hash Join (cost=5.52..231.75 rows=112 width=202)
Hash Cond: (c.oid = i.indexrelid)
-> Seq Scan on pg_class c (cost=0.00..223.99 rows=299 width=206)
-> Hash (cost=4.12..4.12 rows=112 width=4)
-> Seq Scan on pg_index i (cost=0.00..4.12 rows=112 width=4)
(5 rows)
postgres=# EXPLAIN SELECT c.* FROM pg_class c WHERE EXISTS(SELECT * FROM pg_index i WHERE c.oid = i.indexrelid);
QUERY PLAN
────────────────────────────────────────────────────────────────────────
Hash Semi Join (cost=5.52..231.54 rows=112 width=202)
Hash Cond: (c.oid = i.indexrelid)
-> Seq Scan on pg_class c (cost=0.00..223.99 rows=299 width=206)
-> Hash (cost=4.12..4.12 rows=112 width=4)
-> Seq Scan on pg_index i (cost=0.00..4.12 rows=112 width=4)
(5 rows)
).
No taky jsem od mysql s radostí utek, to je pravda
Jinak v podstatě máš pravdu, že někdy je to takhle i sémanticky správně, ale zas databáze není všemocná a proto je podle mne dobré psát dotazy v pokudmožno co pro plánovač nejlepším tvaru, protože se tím minimalizuje riziko chyby. V takhle jednoduchém případě to opravdu dobrá db musí zvládnout, v okamžiku, kdy člověk potřebuje takovejdlech fragmentů spojit více, tak už riziko, že to plánovač nepochopí vzrůstá.
Navíc JOIN tady IMHO taky není sémanticky blbě: INNER joinem defakto říkáš: a ber pouze záznamy, které mají existující spojení s touto tabulkou. To je v podstatě význam toho (byť třeba implicitního) INNER.
S tím, že psát to outer joinem je kravina, to souhlasím 100%, to je opravdu sémanticky mimo.
Tiskni
Sdílej: