Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Zpracování SQL Lubomír Andrle 5. přednáška 4.11.2013.

Podobné prezentace


Prezentace na téma: "Zpracování SQL Lubomír Andrle 5. přednáška 4.11.2013."— Transkript prezentace:

1 Zpracování SQL Lubomír Andrle lubomir.andrle@unicorn.eu 5. přednáška 4.11.2013

2 Obsah Zpracování příkazů SQL – Úvod do CBO O-R mapping

3 ZPRACOVÁNÍ PŘÍKAZŮ

4 Co se děje při volání SQL Syntax check – Jde o sql? Semantic analysis – Kontrola oproti datovému slovníku – Kontrola práv na objekty Hash textu – Select * from T versus – SELECT * from T

5 HARD PARSE

6 Hard parse Sql předáno CBO – Zajištění optimálního provedení příkazu – Musí najít nejefektivnější způsob provedení

7 Cost-base přístup Projití všech relevantních variant  ocenění Zvolení „nejlevnější“ varianty (plánu) Vložení této varianty do Library Cache – Přiřazení varianty danému sql (hash sql) – Plán zůstává v cache dokud nevyexpiruje

8 Execution plan Ukázka

9 Library cache Sdílená cache kurzorů Age out – LRU (Least Recently Used) algoritmus – Invalidation – změna vlastnosti objektu Sbírá informace – Počet spuštění – Počet čtení z disku – A spousty dalších …

10 Podklady pro cost-base Nutnost podkladových dat – Bez nich se neumí CBO rozhodnout Čím přesnější podkladová data, tím přesnější určení optimálního plánu Příklad – Podkladová data říkají, že je v tabulce 100 řádku – Skutečně jich je 1 000 000 – Nepoužití indexu = špatný plán Podkladová data = Statistiky

11 Statistiky Pro celou tabulku – Počet řádků, průměrná délka řádku, … Pro každý sloupec tabulky – Low/High value – Hustota (Density) – Počet null hodnot Pro index – Např. počet leaf bloků Systémové statistiky Hodnota vždy normalizována na číslo bez ohledu na datový typ

12 Frekvenční histogramy Jeden z typů statistik Určují rozložení dat ve sloupci tabulky – Počet výskytů pro konkrétní hodnotu Mohou být velice prospěšné při stanovení ceny Mají větší váhu při rozhodování CBO

13 Frekvenční histogramy - příklad Data o zaplacení pojistného po měsících –... WHERE PAID_MONTH BETWEEN 200910 AND 201001 Ukázka histogramu

14 Frekvenční histogramy - příklad Ukázka jak by „viděl“ Oracle data bez histogramů

15 Systémové statistiky Údaje o HW a OS Rychlost čtení bloků Hospodaření s operační pamětí a výpočetní kapacitou procesoru …

16 Sběr statistik Sběr základních statistik a histogramů – pro datové objekty Velká režie sběru Defaultně sbírány systémovým jobem

17 Sběr statistik II Základní předpoklad – Mít statistiky aktuální – Nezatěžovat systém přílišným sběrem Aktualizace statistik v předem definovaném období – Období klidového provozu – Aktualizovat pouze statistiky, které od posledního sběru zastaraly

18 SOFT PARSE

19 Soft parse Oracle provede pouze základní validace Použije se plán pro daný hash sql – Uložen v Library Cache Příkaz se spustí

20 OR-MAPPING

21 Cíl O-R mappingu Konverze dat mezi aplikační a databázovou vrstvou Odstínění od relačních modelů – Čistě objektový pohled na data

22 Přínosy pro Oracle Zajištění stejných dotazů – Načtení stejné entity stále stejným sql – stejný hash příkazu Použití bind variables – … where name = ‘Andrle’  where name = :B1 – Hodnota B1 se doplní až po parse sql – Stejný hash = soft parse = méně práce pro CBO

23 Obecné přínosy Oddělení dvou „různorodých“ vývojářských skupin Podpora transparentních cache

24 Nevýhody Pomalejší – Oproti nativnímu přístup Méně pod kontrolou – Lazy load Použití alternativy k SQL – HQL, apod.

25 Q&A


Stáhnout ppt "Zpracování SQL Lubomír Andrle 5. přednáška 4.11.2013."

Podobné prezentace


Reklamy Google