Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.
Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.
Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.
Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.
Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.
Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.
Řešení dotazu:
) - to už teď trvá cca 17 sekund, což je neúměrně hodně.
Vlastní spojení: 0.001 s Vyhledávání (WHERE t1.sloupec = 'neco' AND t2.sloupec = 'necojine' za použití indexů tzn. dotazy typu =, <, > ...: 0.05 s Řazení podle sloupce výchozí tabulky: 0.001 s Řazení podle sloupce druhé tabulky (left join druha_tabulka): 5 s Kombinace řazení: 4 sTaké jsem vyzkoušel, že InnoDB je cca 2x rychlejší než MyISAM na hledání a ROW FORMAT InnoDB COMPACT je o trochu rychlejší než InnoDB REDUNDANT. Otázka je jasná: jak urychlit to řazení? RIGHT JOIN apod. řešení nepřipadají v úvahu, protože těch tabulek se bude spojovat více. Také by asi bylo dobré aplikovat podmínky WHERE do join podmínek (ON (t1.a = t2.a AND t1.sloupec = 'neco' ...)), nicméně to asi nepůjde zrealizovat, protože by to zachovalo všechny řádky a nevěděl bych, které existují a u kterých je NULL z důvodu nesplnění přidaných podmínek a INNER JOIN na druhé straně omezuje jinak - nicméně tohle mě tolik netrápí, protože je to na rozdíl od řazení velice rychlé i se standardním WHERE.
Také by asi bylo dobré aplikovat podmínky WHERE do join podmínek (ON (t1.a = t2.a AND t1.sloupec = 'neco' ...)), nicméně to asi nepůjde zrealizovat, protože by to zachovalo všechny řádky a nevěděl bych, které existují ...A nemá se to náhodou psát takto?
... ON t1.a = t2.a WHERE t1.sloupec = 'neco' ...
(pokud teda není součást té podmínky OR/AND IS NULL)Právě že je, proto se bez where neobejdu.
Explain: id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE ppp index NULL name 767 NULL 309090 Using index; Using temporary; Using filesort 1 SIMPLE t eq_ref PRIMARY PRIMARY 767 ppp.prvni.name 1
select name from ppp left join tabulka t on (ppp.name = t.name) order by t.sloupec1 limit 30
SELECT name FROM
(
SELECT name, sloupec1 as razeni FROM tabulka ORDER BY sloupec1 LIMIT 30
UNION
SELECT name, NULL razeni FROM ppp WHERE name NOT EXIST IN (SELECT name FROM tabulka) LIMIT 30
)
ORDER BY razeni LIMIT 30
CREATE TABLE `tabulka` ( `lid` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL, `sloupec1` tinyint(1) DEFAULT NULL, PRIMARY KEY (`lid`), KEY `sloupec1` (`sloupec1`), KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin select .... left join tabulka ... order by tabulka.sloupec1 desc - podtržená část způsobí zpomalení na více než 30 s. explain: id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE ppp ALL NULL NULL NULL NULL 306409 Using temporary; Using filesort 1 SIMPLE tabulka ref id id 4 ppp.ppp.id 1A je jedno jestli je id unikátní nebo ne (tady není, protože mi to umožní do budoucna spojení 1:N).
SELECT name FROM ( SELECT name, sloupec1 as razeni FROM tabulka tab LIMIT 30 UNION SELECT name, NULL razeni FROM ppp pp WHERE name NOT IN (SELECT name FROM tabulka) LIMIT 30 ) t ORDER BY razeni LIMIT 30Toto je bleskové, ale nebude to funkční - mysql mi nedovolí order by u selectu v unionu. Také by to bylo nefunkční pro řazení podle více sloupců.
SELECT name, FROM
(
(SELECT name, sloupec1 as razeni, NULL FROM tabulka LIMIT 30)
UNION
(SELECT name, NULL, sloupec1 as razeni2 FROM nevimco LIMIT 30)
UNION
(SELECT name, NULL, NULL FROM ppp pp WHERE name NOT IN (SELECT name FROM tabulka) LIMIT 30)
) t
ORDER BY razeni, razeni2 LIMIT 30
jak by to mělo fungovat: name sloupec1 sloupec2 a 1 1 b 2 1 c 3 1 d 4 1 e 5 1 f 6 2 g 6 3 h 6 4 i 7 5 j 8 5 k 9 5 l 10 5 m 11 6 n 12 7 o 13 8 p 14 9 jenže ono to nejprve seřadí sloupec1, pak sloupec2 - tzn. pokud budou ve sloupci1 někde stejné hodnoty, pak ty sloupec2 nemusí vůbec ovlivnit a jen přidá další.Nicméně tento typ dotazu určitě použiju při řazení podle jednoho sloupce (kde je zrychlení ze 4.5 na 0.001s). Díky.
(SELECT id, f1, f2, f4 NULL FROM t1 INNER JOIN t2 USING (id) ORDER BY f1, f2,3 LIMIT 30)
UNION
(SELECT id, f1, f2, NULL NULL NULL FROM t1 INNER JOIN t2 USING (id) ORDER BY f1, f2,3 LIMIT 30)
UNION
(SELECT id, NULL, NULL, f4 FROM t1 INNER JOIN t2 USING (id) ORDER BY f1, f2,3 LIMIT 30)
UNION
(SELECT id FROM mastertable WHERE id NOT IN (select id from t1) AND id NOT IN (select id from t2) ORDER BY f1, f2,3 LIMIT 30)
Nejlepší v tomdle případě by bylo vytvořit temporary table a do ní to postupně sypat a skončit v okamžiku,
kdy je v ní dostatek záznamů.
from t1 inner join t2
from t1 not in t2
from t2 not in t1
from t not in t1 and not in t2
S víc tabulkama to už začne bejt mazec, ale dá se to poskládat automaticky. Hlavně bych pak místo
unionu použil temporary table, protože v ní můžeš počítat počet vložených záznamů a až jich bude dost,
tak nepokračovat ve vkládání dalších subdotazů.
Tiskni
Sdílej: