Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
mgr-szz:in-pos:3-pos [2019/06/13 20:29]
lachmanfrantisek indexy, hašování
mgr-szz:in-pos:3-pos [2020/04/12 16:56] (aktuální)
Řádek 565: Řádek 565:
 Postup zpracování a optimalizace dotazu: Postup zpracování a optimalizace dotazu:
  
-  - dotaz +  - Převod dotazu na **syntaktický strom** pomocí parseru. 
-  - syntaktický strom dotazu +  - Převod na **logický plán** ve formě výrazů ​relační algebry. 
-  - logický plán dotazu - v pojmech ​relační algebry +  - Aplikací ​transformačních pravidel (viz níže) vznikne ​**vylepšený logický plán** 
-  - vylepšený logický plán dotazu +  - Odhad ceny provedení na základě ​různých statistik (počet záznamů, velikost záznamů, počet unikátních hodnot, ...). 
-  - logický plán dotazu s velikostmi - v PostgreSQL lze zobrazit příkazem EXPLAIN +  - **logický plán dotazu s velikostmi** - v PostgreSQL lze zobrazit příkazem EXPLAIN 
-  - fyzický plán dotazu +  - Transformace ​na **fyzický plán** určující ​pořadí operací. 
-  - vyhodnocení +  - Výběnejlevnějšího **fyzické ​plánu** ​(velikost výsledků, počet V/V operací). 
- +  - Vyhodnocení vybraného **fyzického plánu**.
-Dotaz se nejprve pomocí parseru převede na syntaktický strom reprezentující strukturu dotazu. Ten se po té zpracuje do výrazů relační algebry (logický plán dotazu). Pomocí ​transformačních pravidel (kombinace přirozeného spojení, kartézského součinu, sjednocení,​ selekce a projekcedále vznikne vylepšený logický plán. Nyní se za pomocí ​různých statistik (počet záznamů, velikost záznamů v bajtech, počet obsazených bloků, počet unikátních hodnot ​daného atributu) odhadnou velikosti výsledkůkteré ovlivňují odhad ceny provedeníNásledně se logický plán transformuje ​na fyzický plán, který ​určí pořadí operací ​nutných k vykonáníPorovnají se různé ​fyzické ​plány, odhadnou se náklady ​(velikost výsledků, počet V/V operací) ​a zvolí se nejlevnějšíNakonec se daný plán provede a tím se získá výsledek.+
  
 === Transformační pravidla === === Transformační pravidla ===
  
-  ​* Přirozené spojeníkartézský součinsjednoceníprůnik+= Transformační vztahy relační algebry zachovávající výsledek. Mohou ale zefektivnit samotné vyhodnocování.  
 + 
 + 
 +  ​* Přirozené spojení ​kartézský součin ​sjednocení ​průnik
     * Protože jsou všechny atributy zachovány, není pořadí důležité.     * Protože jsou všechny atributy zachovány, není pořadí důležité.
  
Řádek 636: Řádek 638:
  
   * Techniky přepsání dotazu   * Techniky přepsání dotazu
-    * Použití indexů 
     * Rušení nadbytečných DISTINCT     * Rušení nadbytečných DISTINCT
     * (Korelované) poddotazy     * (Korelované) poddotazy
Řádek 642: Řádek 643:
     * Používání HAVING     * Používání HAVING
     * Používání pohledů (VIEW)     * Používání pohledů (VIEW)
 +    * Použití indexů
     * Uložené pohledy (materializedviews)     * Uložené pohledy (materializedviews)
 +
  
   * Vytvoření indexu   * Vytvoření indexu
Řádek 681: Řádek 684:
  
  
- +<box 90% blue|klíče>​ 
- +**super klíč** = množina atributů jednoznačně určující každý záznam 
- +**kandidátský klíč** = super klíč bez nadbytečných atributů 
- +**primární klíč** = právě jeden vybraný kandidátský klíč 
- +</​box>​
- +
- +
  
  
mgr-szz/in-pos/3-pos.1560450589.txt.gz · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0