Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
select * from relace where typ_predka='P' and predek=42802 select * from polozka where cislo in (42803,42831) order by cislo select * from zaznam where cislo in (57550) order by cislo select soucet from citac where typ like 'P' and cislo=42802
Ctverice zminenych dotazu. Posledni tri by sly celkem snadno aplikovat hromadne na vsechny clanky. Proste by tam tech cisilek trosku pribudlo
Ale ten prvni je v obecnem pripade nejhorsi. Zde ale vim, ze se bude menit jen cislo predka. Jenze stejne radeji hledam obecne reseni. Takze kdyz mam treba dvojice (A,1), (A,2), (B,3), (C,1), IMHO by resenim bylo:
select * from relace where typ_predka='A' and predek in (1,2) select * from relace where typ_predka='B' and predek in (3) select * from relace where typ_predka='C' and predek in (1)
A pak rucne projit vracene radky a podle sloupecku predek rozhazet udaje ke spravnym objektum.
select * from relace where (typ_predka='A' and predek in (1,2)) or (typ_predka='B' and predek in (3)) or (typ_predka='C' and predek in (1))Ale jinak se v tom zatím moc nevyznám
create table
pro polozka a zaznam?
Předpokládám, že ta čísla (42803,42831) a (57550) jsou z relace, a které je nebo je polozka a zaznam se pozna podle typ_potomka?
Nestačilo by nepoužívat 'select *
'? Navíc u databází bývá zvykem, že v záznamu nejsou celé BLOBy, ale jen jakési handly na ně, ale nevím, jestli to tak dělá i MySQL.
SELECT * FROM relace AS Rserial, relace AS Rclanky WHERE Rserial.url = ? AND Rserial.cislo = Rclanky.cislo AND Rclanky.typ = 'P' ORDER BY Rclanky.cisloTím bych měl získat čísla všech článků v seriálu. K nim potřebuji přidat obsah (zaznam) a třeba dvě položky z polozka – dejme tomu autor a honorar. Upravím tedy SELECT:
SELECT * FROM relace AS Rserial, relace AS Rclanky, zaznam, polozka AS Pautor, polozka AS Phonorar WHERE Rserial.url = ? AND Rserial.cislo = Rclanky.cislo AND Rclanky.typ = 'P' AND zaznam.cislo = Rclanky.cislo AND Pautor.cislo = Rclanky.cislo AND Phonorar.cislo = Rclanky.cislo ORDER BY Rclanky.cisloStejně by se do SELECTu přidal i počet položek. Na spojování tabulek jsou databáze optimalizované, pokud jsou na příslušných sloupečcích indexy, mělo by to být OK. Výsledkem SELECTu by měl být 1 řádek = 1 článek. Místo
SELECT *
si samozřejmě vyberu jen ty sloupečky, které potřebuji.
Doufám, že tu nepíšu úplné nesmysly a půjde to na strukturu databáze napasovat SELECT * FROM relace AS Rserial, relace AS Rclanky, zaznam, polozka AS Pautor, polozka AS Phonorar, relace AS Rautor, relace AS Rhonorar WHERE Rserial.url = ? AND Rserial.cislo = Rclanky.cislo AND Rclanky.typ = 'P' AND zaznam.cislo = Rclanky.cislo AND Pautor.cislo = Rautor.cislo AND Rautor.predek = Rclanky.cislo AND Rautor.typ_predka = 'P' AND Phonorar.cislo = Rhonorar.cislo AND Rhonorar.predek = Rclanky.cislo AND Rhonorar.typ_predka = 'P' ORDER BY Rclanky.cislo
CREATE TABLE polozka ( cislo INT AUTO_INCREMENT PRIMARY KEY, -- jednoznacny identifikator typ SMALLINT, -- typ polozky (diskuse, faq, ..) podtyp VARCHAR(30) NULL, -- podtyp data TEXT NOT NULL, -- XML pridal INT(6) NOT NULL, -- odkaz na uzivatele vytvoreno DATETIME, -- cas vytvoreni zmeneno TIMESTAMP NOT NULL -- cas posledni zmeny ); CREATE TABLE zaznam ( cislo INT AUTO_INCREMENT PRIMARY KEY, -- jednoznacny identifikator typ SMALLINT, -- typ zaznamu (HW, SW, clanek ..) podtyp VARCHAR(30) NULL, -- podtyp data LONGTEXT NOT NULL, -- XML pridal INT(6) NOT NULL, -- odkaz na uzivatele vytvoreno DATETIME, -- cas vytvoreni zmeneno TIMESTAMP NOT NULL -- cas posledni zmeny );
ALTER TABLE relace ADD INDEX in_potomek (typ_potomka,potomek); ALTER TABLE relace ADD INDEX in_predek (typ_predka,predek); ALTER TABLE relace ADD INDEX in_predchozi (predchozi); ALTER TABLE relace ADD INDEX in_url (url);
Indexy jsem delal podle EXPLAIN, ale spise jen amatersky.
Pokud jde o prvni dotaz, mas pravdu, take jsem si ted vsimnul, ze ten LIKE je zbytecny, kdyz znam presnou hdonotu. Ale bude to poznat na vykonnosti, kdyz ma sloupecek vzdy jediny znak a ten strcim do vyrazu? Pak snad nebude rozdil mezi porovnanim a LIKE, ne?
Chápu to dobře, že každej jednotlivej příspěvek v diskusi získáváš jedním SQL dotazem? V případě, že ano, nebylo by mnohem efektivnější získat všechny příspěvky z jednoho vlákna pomocí 1 dotazu (například podle UID prvního-kořenového záznamu) a ty pak srávně "pospojovat" podle nějakého identifikátoru udávající pozici ve stromu příspěvků u jednotlivých příspěvků až v aplikaci?
Tiskni
Sdílej: