Nejmenší jednotkou přístupu k datům v databázi Oracle je blok. Ani řada.
Každý blok může uložit mnoho řádků.
Databáze může přistupovat k bloku v aktuálním nebo konzistentním režimu.
- Aktuální =protože blok existuje „právě teď“.
- Konzistentní =protože blokované položky existovaly v době zahájení dotazu.
Dotaz a aktuální sloupce udávají, kolikrát databáze přistoupila k bloku v konzistentním (dotazu) a aktuálním režimu.
Při přístupu k bloku může být již ve vyrovnávací paměti (paměti). Pokud ano, není potřeba žádný přístup k disku. Pokud ne, musí provést fyzické čtení (pr). Sloupec disku je počet celkových fyzických čtení.
Statistiky pro každý řádek v plánu jsou čísla pro danou operaci. Plus součet všech jeho podřízených operací.
Jednoduše řečeno, databáze zpracuje plán tak, že nejprve přistoupí k prvnímu dítěti. Poté předá řádky nadřazenému. Pak všechny ostatní podřízené operace tohoto rodiče v pořadí. Podřízené operace jsou na displeji odsazeny od jejich nadřazeného prvku.
Databáze tedy zpracovala váš dotaz takto:
- Přečtěte si 2 000 řádků od ZÁKAZNÍKA. To vyžadovalo 749 konzistentních získání bloku a 363 čtení disku (hodnoty cr a pr na tomto řádku). To trvalo 10 100 mikrosekund.
- Přečtěte si 112 458 řádků z REZERVACE. To provedlo 8 203 konzistentních čtení a nula čtení disku. To trvalo 337 595 mikrosekund
- Spojili tyto dvě tabulky dohromady pomocí hašovacího spojení. Hodnoty CR, PR, PW (fyzické zápisy) a časové hodnoty jsou součtem operací pod tímto. Navíc bez ohledu na práci, kterou tato operace udělala. Takže hash join:
- did 8 952 - ( 749 + 8 203 ) =nula konzistentních čtení
- did 363 - ( 363 + 0 ) =nula fyzických čtení
- provedení trvalo 1 363 447 - ( 10 100 + 337 595 ) =1 015 752 mikrosekund
Všimli jste si, že součty CR a PR pro spojení hash odpovídají součtům dotazu a disku v řádku načtení?
Sloupec počet uvádí, kolikrát k dané operaci došlo. Načtení je volání databáze za účelem získání řádků. Klient tedy zavolal databázi 7 499krát. Při každém obdržení ceil( 112 458 / 7 499 ) =15 řádků.
CPU je celkový čas v sekundách, kdy procesory serveru prováděly tento krok. Uplynulý je celkový čas nástěnných hodin. To je čas CPU + případná práce navíc. Například čtení disku, čas sítě atd.