Dnes: 20. srpna 2017    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    Konkurenční přístup
    Situace, kdy k jednomu zdroji dat (nejčastěji stejným záznamům v tabulce) přistupuje současně více uživatelů. Jedním z úkolů vyspělého SŘBD je zajistit, aby nedošlo k porušení konzistence dat (například aby uživatel z tabulky četl vždy aktuální data).

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Jak na rychlejší Min/Max?


    [Tipy - triky] - Předpokládám, že všichni dobře znají funkce MIN a MAX pro zjišťovaní minimálních a maximálních hodnot v SQL příkazech. Bohužel realita je zlá a občas nás nutí zjišťovat minimum či maximum ve spojitosti s dalšími podmínkami. Naneštěstí ne vždy je rychlost zpracování jednoduchého dotazu taková, jakou bychom předpokládali. Ukážeme vám, jak lze - primárně na platformě Firebird - dosáhnout mnohem lepších výsledků.



    Klasické konstrukce SELECT MIN(datum) FROM tabulka lze zrychlit snadno definicí vzestupného indexu nad polem datum, konstrukci SELECT MAX(datum) FROM tabulka bychom zrychlili definicí sestupného indexu nad týmž polem.

    Problémem ovšem je, jak zrychlit tento – nebo podobný – dotaz (předpokladem zrychlení je index definovaný nad něco,datum v tomto pořadí):

    SELECT MIN(datum) 
      FROM tabulka 
      WHERE něco=x
    

    Podmínka něco=x spolehlivě "rozhodí" plánovač dotazů a on nepoužije správný index – místo toho použije pouze index definovaný nad polem něco. Abychom donutili FB použít našeho indexu musíme dotaz zcela přepsat:

    SELECT FIRST 1 
      FROM tabulka 
      WHERE něco=x ORDER BY něco,datum
    

    Pokud bychom chtěli získat maximum, je třeba dotaz napsat takto:

    SELECT FIRST 1 
      FROM tabulka 
      WHERE něco=x ORDER BY něco DESC, datum DESC
    

    Tento způsob výběru minimálních a maximálních hodnot byl testován na platformě FB 1.5.1. Výsledné časy byly při 1,7 milionu záznamů na CPU Intel Celeron@550 MHz při prvním přístupu do 0.5s, opakovaný přístup byl pod 0,2s. Počet kategorii "něco" byl okolo sedmi, záznamy nebyly rozděleny zcela rovnoměrně. Prosím, podělte s ostatními o své vlastními zkušenostmi s optimalizací dotazů pro FB.

    O autorovi
    Slavomír Skopalík vystudoval kybernetiku na VUT Brno se zaměřením na měření a systémové inženýrství. Podílel se na návrhu tvorbě regresních testů pro Firebird. V současné době je jednatelem firmy Elekt Labs, která se zaměřuje především na dodávky malých informačních systémů s vysokou přidanou hodnotou postavených na SQL databázi Firebird. Autor pracuje s databázemi Interbase a Firebird od roku 1994, posledních pět let především v průmyslu při řešení plánování a monitorování výroby.

    ( Celý článek! | Autor: Slavomír Skopalík | Počet komentářů: 3 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1400 hl.)
    Do 1 000,- Kč 
     (984 hl.)
    Do 10 000,- Kč 
     (927 hl.)
    Do 25 000,- Kč 
     (1184 hl.)
    Do 50 000,- Kč 
     (941 hl.)
    Do 75 000,- Kč 
     (1081 hl.)
    Více než 75 000,- Kč 
     (925 hl.)

    Celkem hlasovalo: 7442


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Srpen  >>
    PoÚtStČtSoNe
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena