Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.
openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.
Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.
Google Chrome 120 byl prohlášen za stabilní. Nejnovější stabilní verze 120.0.6099.62 přináší řadu oprav a vylepšení (YouTube). Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Byla vydána nová verze 2023.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Vypíchnout lze podporu Cloud ARM64, Vagrant Hyper-V a Raspberry Pi 5.
Společnosti IBM, Meta a dalších vice než 50 zakládajících členů (bez Microsoftu a OpenAI) vytvořili mezinárodní alianci AI Alliance pro spolupráci na vývoji a rozvoji otevřené, bezpečné a odpovědné umělé inteligence.
Služba pro hlídání uniklých hesel Have I Been Pwned oslavila 10. výročí. Troy Hunt ji spustil 4. prosince 2013 (Twitter).
Programovací jazyk HTML.
Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.
CREATE TABLE big (a integer);
insert into big values (1,2,3,4,5,6,7,8);
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
insert into big select a + (select max(a) from big) from big ;
Test:
DO $$
declare r integer;
declare s integer;
declare t integer;
begin
t=0;
for r in 1..100000 loop
select sum(a) from big where a between (r % 8000) AND (r % 8000) + r % 50 into s;
t=t+s;
end loop;
end;
$$;
A vytvoření indexu:
CREATE INDEX biga ON big(a) ;
Ano, není pravda, že pro každý myslitelný dotaz je lepší použít index. Těch dotazů, které se v praxi používají a je na ně lepší sekvenční scan je ale zanedbatelné minimum. A i takovádle "miniaturní databáze" je dost velká na to, aby definování indexů přineslo významný výkonnostní rozdíl.
SELECT hrac FROM tabulka_1 WHERE (datumpridania > 1307400000 AND datumpridania < 1307492665) AND team = 'barcelona';mal by som teda nadefinovať index takto:
CREATE INDEX ON tabulka_1 (team, datumpridania)je ten index správne nadefinovaný?
>>pokud je v sloupeci datum, tak bys k němu měl přistupovat jako k datupochopil som, ze tam teda bude lepšie, keď použijem datetime namiesto int, t.j. vo formate 0000-00-00 00:00:00. Je toto potom ok(?):
BETWEEN '2011-01-01' AND '2011-05-30'
BETWEEN '2011-01-01 12:54:21' AND '2011-05-30 01:01:05'
BETWEEN '2011-01-01 00:00:00' AND '2011-05-30 23:59:59'alebo
BETWEEN '2011-01-01 00:00:00' AND '2011-05-31 00:00:00'(čo by malo vrátiť približne rovnaké výsledky v oboch prípadoch - avšak asi nevráti zápis s hodnotou 2011-05-30 23:59:59, vráti len tie čo sú menšie) vďaka za pomoc
CREATE INDEX prvy_index ON tabulka_1 (team) CREATE INDEX druhy_index ON tabulka_1 (datumpridania) namiesto CREATE INDEX meno_indexu ON tabulka_1 (team, datumpridania) ?v prípade meno_indexu by sa nejako tie dva stĺpce team+datumpridania previazali? narozdiel od tych prvy_index a druhy_index, kedy sa indexy vytvoria solo pre každý stĺpec? pýtam sa tak blbo, lebo nerozumiem, aký je tam rodiel v tých indexoch :/ ďakujem za trpezlivosť
Ma to teda zmysel?Nema.
Tohle by se možná dalo označit za jednu z nejčastějších začátečnických chyb. Rozdělením stejných záznamů do několika tabulek docílíte jen toho, že v lepším případě budete místo jednoduchých dotazů tvořit nepřehledné, nesrozumitelné a neoptimalizovatelné konstrukce založené na union dvou dotazů přes jednotlivé tabulky. Tedy ve vašem případě, kdy jsou ty tabulky dvě; pokud jich je víc, obvykle to končí iterováním přes jednotlivé tabulky.
Desetitisíce záznamů v tabulce nejsou ani zdaleka důvodem k panice, natož k podobným šíleným konstrukcím. Databáze jsou stavěné na to, aby efektivně pracovaly s daty, a nemá smysl jim házet klacky pod nohy tím, že ze strachu budete uměle komplikovat strukturu těch dat.
Tiskni
Sdílej: