Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).
Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.
Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také
… více »Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).
Ř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: