abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 8
    dnes 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    dnes 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 1
    dnes 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Zajímavý článek

    Český statistický úřad (ČSÚ): Průměrná hrubá měsíční mzda ICT specialistů v roce 2025 meziročně vzrostla o 6 % na téměř 100 tisíc korun. Nejlépe placeni byli vývojáři softwaru. Dlouhodobým trendem zůstává nízké zastoupení žen, a to jak mezi specialisty, tak studenty těchto oborů.

    Ladislav Hagara | Komentářů: 14
    včera 14:11 | IT novinky

    Ochranný svaz autorský (OSA) připravuje žalobu na společnost Suno, která umožňuje generování hudby pomocí umělé inteligence (AI). ČTK to sdělil předseda představenstva OSA Roman Strejček. Suno podle něj bez souhlasu využívá k trénování svých modelů hudbu autorů, které svaz zastupuje. Nedávný investigativní materiál magazínu The Atlantic ukázal, že firmy jako Suno nebo Udio k trénování modelů používají rozsáhlé databáze obsahující miliony skladeb. V databázích, které časopis zveřejnil, lze dohledat i písně řady českých a slovenských umělců.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vyřešen byl problém s macOS 27 Golden Gate. Vývoj lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    EU dnešním dnem zavedla clo ve výši 3 eur na balíky nízké hodnoty dovážené ze zemí mimo EU. To zahrnuje širokou škálu výrobků běžně nakupovaných on-line, jako jsou oděvy, hračky, elektronika a další spotřební zboží v hodnotě až 150 EUR.

    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 2035 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: MySQL - lze prohledat tabulku od konce?

    1.12.2020 09:46 tom
    MySQL - lze prohledat tabulku od konce?
    Přečteno: 3868×
    Zdravim,

    mam jednu velikou a narustajici InnoDB tabulku a potrebuju z ni vybirat jediny zaznam, ktery splnuje nejakou podminku a ma nejvyssi ID

    Zkratka posledni zaznam s touto podminkou, jestli si rozumime

    Ted to delam takhle:

    SELECT id,x FROM tabulka WHERE x="neco" ORDER BY id DESC LIMIT 1

    A tenhle dotaz trva dost dlouho. Tak me napada, ze MySQL asi vyhleda vsechny radky, kde x="neco", seradi je podle ID pozpatku a pak teprve vybere prvni radek, ktery me zajima

    Dalo by se nejak udelat, aby to proste vyhledavalo rovnou od konce te databaze?

    Diky

    Řešení dotazu:


    Odpovědi

    Aleš Janda avatar 1.12.2020 09:58 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Tabulka obecně nemá žádný začátek ani konec.

    Asi nejlepší dotaz, co můžete zadat, je

    SELECT max(id) FROM tabulka WHERE x="neco"

    z čehož teda zase nedostanete to x, navíc nevím, jak moc to pomůže v rychlosti.
    1.12.2020 10:02 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Sestupný index by nepomohl https://mydbops.wordpress.com/2018/07/15/descending-index-in-mysql-8-0/

    V Postgresu jsou indexy oboucestné (i když v té primární cestě jsou rychlejší). U MySQL nevím. To Vaše SQL je korektní - jde jen o to, aby se chytil index nad id.
    1.12.2020 11:10 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Pokiaľ chce človek zachovať sekvenčné ID, tak by nebolo rozumné využiť funkciu sekvencera? OracleDB na to malo priamo objekt sequencer.curval, sequencer.nextval. Samotné MySQL by malo mať voľbu pre číselný stĺpec ID "AUTO_INCREMENT PRIMARY KEY". Nevyriešilo by to problém systematicky?
    Řešení 1× (frr)
    1.12.2020 12:50 Vlado99 | skóre: 13 | blog: vlado99
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    SELECT id,x FROM tabulka WHERE id=(SELECT max(id) FROM tabulka WHERE x="něco")

    Treba mať indexy nad id a nad x. Záznamy v tabuľke sú množina, nemajú "začiatok" ani "koniec".
    10.1.2021 21:51 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Slušný databázový stroj by měl odhalit, že tenhle příkaz je ekvivalentní tomu v dotazu a prováděcí plán by měl být v obou případech stejný. Ale zrovna v případě MySQL bych raději oba prováděcí plány porovnal, jestli se neliší a jeden z nich není opravdu výrazně lepší. Základ je ale samozřejmě mít v databázi správný index – pokud se musí dělat fullscan, žádné čarování s dotazy to nezlepší.
    4.12.2020 19:39 tom
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Nemel jsem ted chvili cas se tomu venovat...

    Kazdopadne dekuji za vasi pomoc!

    Ale napadlo me, co kdybych udelal nejaky trigger, ktery by pri INSERTu pohlidal, jestli se x="neco" a kdyby jo, tak by to zapsal do nejake druhe/pomocne tabulky

    Jenom nevim jednak jestli to jde, predpokladam, ze snad ano, a druhak jakou zatez to prinese, protoze se to vlastne bude spoustet pri kazdem zapisu do DB

    Zkusim a uvidim
    6.12.2020 20:11 okbobcz | skóre: 8
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    To je takova rucni implementace online materializovaneho pohledu. Ma to spis smysl pro nejake vyrazne vetsi tabulky, protoze zpomaleni INSERTu bude znatelne. Navic se tam musi resit race conditions.
    Josef Kufner avatar 11.12.2020 13:14 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Přidej jeden index nad oba sloupečky (x, id) a nech si pomocí EXPLAIN vysvětlit, zda to pomohlo a kde přesně to dře.
    Hello world ! Segmentation fault (core dumped)
    15.12.2020 21:17 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Tak me napada, ze MySQL asi vyhleda vsechny radky, kde x="neco", seradi je podle ID pozpatku a pak teprve vybere prvni radek, ktery me zajima
    Takovéhle úvahy nedávají smysl. Databáze má optimalizátor dotazů (MySQL tedy zrovna ne nijak hvězdný), záleží a tom, zda daný dotaz správně rozklíčuje a umí ho zoptimalizovat. A hlavně jestli pro tu optimalizaci má prostředky – třeba správné indexy. Takže neřešte „aby to rovnou vyhledávalo od konce databáze“.

    Jaký je počet záznamů splňujících x="neco"? Máte na tom x index? Nebo by bylo rychlejší hledat od nejvyšších id a hledat první, které splňuje podmínku na x? Jsou nějaké další podmínky platné pro to vyhledávání x? Třeba by se to dalo využít pro to vyhledávání.
    10.1.2021 14:37 tom
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Sorry,

    prestal jsem vlakno sledovat, protoze se nam podarilo ten problem vyresit/odsunout tim, ze jsme ten system presunuli na SSD

    Nicmene ted jsem si konecne vsimnul, ze pisete:
    Nebo by bylo rychlejší hledat od nejvyšších id a hledat první, které splňuje podmínku na x?
    To by asi bylo idealnim resenim tohoto problemu (viz titulek). Jelikoz ID je nastavene na AUTO_INCREMENT.

    Jak tedy hledat od nejvyssich id?

    Dekuji
    10.1.2021 18:28 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    To by asi bylo idealnim resenim tohoto problemu (viz titulek). Jelikoz ID je nastavene na AUTO_INCREMENT. Jak tedy hledat od nejvyssich id?
    Vytvořit index, ve kterém bude jako první sloupec ID a jako další sloupce to, podle čeho děláte WHERE.
    10.1.2021 19:57 tom
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Ja mam v hlave vazne brzdovou kapalinu

    Ted teprve zacinam chapat i predchozi komentare

    Diky!!
    10.1.2021 21:56 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL - lze prohledat tabulku od konce?
    Samozřejmě je pak potřeba ověřit, že se ten index používá. Případně jeho použití vynutit – pokud MySQL umí něco jako hinty. Protože se může stát, že si databáze bude myslet, že záznamů splňujících tu podmínku x="něco" bude málo, a že než na takový záznam dojde přes ten index podle ID, bude rychlejší použít buď jiný index (třeba pro samotné x) nebo projít celou tabulku.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.