Plan Szkolenia
Metodologia optymalizacji aplikacji
- Znajdowanie problemu
- Diagnozowanie przyczyny
- Stosowanie rozwiązania
Architektura bazy danych i instancji
- Podstawowe informacje o plikach i procesach serwera
- Struktury pamięci (SGA, PGA)
- Proces parsowania i udostępniania kursorów
Analiza planu wykonania polecenia
- Sposoby uzyskania hipotetycznego i rzeczywistego planu zapytania (EXPLAIN PLAN, DBMS_XPLAN, SQLPlus Autotrace)
- Oznaczanie kolejności kroków algorytmu
- Interpretacja zawartości drzewa planu
- Plany adaptacyjne
Proces optymalizacji kosztowej i kontrola pracy optymalizatora kosztów
- Właściwości optymalizacji kosztowej i regułowej
- Parametry sesji i instancji
- Wskazówki (hints)
- Wzorce planów zapytań (outlines)
- Zarządzanie planami zapytań (baselines, Profiles, SQL Patch)
Statystyki i histogramy
- Wpływ statystyk i histogramów na wydajność
- Sposoby zbierania statystyk i histogramów
- Strategie zliczania i szacowania statystyk, próbkowanie ad hoc
- Zarządzanie statystykami: blokowanie, kopiowanie, edycja, automatyzacja zbierania, monitorowanie zmian
- Statystyki wielokolumnowe, oparte na wyrażeniach
- Statystyki systemowe i słownikowe
- Statystyki adaptacyjne
Logiczna i fizyczna struktura bazy danych
- Przestrzenie tabel (tablespaces)
- Segmenty
- Rozszerzenia
- Bloki
Optymalizacja pełnego odczytu poprzez właściwe zarządzanie przestrzenią
- Kiedy stosować pełny odczyt
- Alokacja przestrzeni bloków i segmentów, wskaźnik wysokiego poziomu wody, PCTFREE
- Wpływ operacji DML i alokacji przestrzeni na wydajność odczytu
- Ładowanie danych poprzez ścieżkę konwencjonalną i bezpośrednią
- Fizyczna reorganizacja danych, truncate, defragmentacja, przebudowa
Optymalizacja pełnego odczytu poprzez fizyczne rozdzielenie "gorących danych"
- Tabele tymczasowe
- Partycjonowanie
- Materializowane widoki
Optymalizacja pełnego odczytu poprzez kompresję danych
- Kompresja OLTP
- Kompresja OLAP
Optymalizacja odczytu poprzez indeks
- Koncept ROWID
- Konstrukcja indeksów BTREE
- Porównanie efektywności dostępu do danych poprzez indeksy BTREE i FULL SCAN
- Wpływ indeksów na operacje DML
- Strategie tworzenia i usuwania indeksów
- "Dobry" i "zły" indeks, wpływ entropii fizycznego rozkładu danych na koszty korzystania z indeksu
- Właściwości i statystyki indeksów
- Typy odczytu: UNIQUE, RANGE, SKIP, FULL, FAST FULL, MIN/MAX
- Typy indeksów: unikalne, funkcyjne, wielokolumnowe, odwrócone klucze, lokalne/globalne, wirtualne, niewidoczne
- Wartości NULL w indeksach
- Tabele zorganizowane jako indeks (IOT)
- Indeksy bitmapowe i łączeniowe
Optymalizacja procesu sortowania
- Sortowanie w pamięci
- Sortowanie przez indeksy
- Sortowanie językowe
Optymalizacja łączeń i podzapytań
- Metody łączenia: MERGE, HASH, NESTED LOOP
- Łączenia w systemach OLTP i OLAP
- Łączenia gwiazdowe
- Sekwencja łączeń
- Łączenia zewnętrzne
Monitorowanie wydajności i znajdowanie wąskich gardeł procesu
- v$sql…, dba_hist…
- Śledzenie sesji/procesów bazy danych
- Śledzenie sesji aplikacji/użytkownika w modelu dzierżawy połączeń z bazą danych
- Narzędzia TkProf, TrcSess
Wydajność PL/SQL
- Używanie wartości literałowych w SQL
-stwierdzenia dotyczące zasad udostępniania kursorów
-używanie wartości literałowych w SQL
-stwierdzenia dotyczące kursorów adaptacyjnych
- Właściwy sposób komunikacji SQL <=> PL/SQL
-kursory i operacje masowe
-prefetch
-for update
- Funkcje własne w SQL
-lokalne
-buforowanie wyników funkcji
-determinizm i efektywność
- Przekazywanie parametrów przez kopię/wskaźnik
- Optymalizacja krótkich procedur w czasie kompilacji
- Zarządzanie kompilatorem
-poziomy optymalizacji kompilatora
-Kompilacja natywna
- Inne aspekty optymalizacji PL/SQL
Wymagania
Biegła znajomość SQL i PL/SQL. Praktyczne doświadczenie w pracy z Oracle lub innym silnikiem relacyjnych baz danych.
Opinie uczestników (2)
wyjaśnił bardzo dobrze i podał wskazówki dotyczące ćwiczeń.
Stoyan - OPEN COURSE
Szkolenie - Oracle Database 19c PL and Advanced SQL
Przetłumaczone przez sztuczną inteligencję
Podstawy sesji PL/SQL. Korzystałem z PL/SQL, ale nigdy nie opanowałem jej podstaw i ten kurs bardzo mi pomógł w zrozumieniu zapytań PL/SQL.
Stefan-Andrei
Szkolenie - PL/SQL in Oracle 19c
Przetłumaczone przez sztuczną inteligencję