Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.