Plan szkolenia
1. Metodologia strojenia aplikacji
• Odnalezienie problemu
• Diagnozowanie przyczyny
• Aplikowanie rozwiązania
2. Architektura bazy danych i instancji
• Podstawowe informacje o plikach
• Procesy serwera
• Struktury pamięci (SGA, PGA)
• Proces parsowania i współdzielenia kursorów
3. Analiza planu wykonania polecenia
• Sposoby pozyskiwania hipotetycznego i rzeczywistego planu zapytania (EXPLAIN PLAN,
DBMS_XPLAN, SQLPlus Autotrace)
• Oznaczanie kolejności kroków algorytmu
• Interpretacja zawartości drzewa planu
4. Proces optymalizacji kosztowej
• Właściwości optymalizacji kosztowej i regułowej
• Wyznaczanie celu optymalizacji
• Kursory adaptywne
5. Sterowanie praca optymalizatora kosztowego
• Parametry sesji i instancji
• Podpowiedzi (hinty)
6. Statystyki i histogramy
• Wpływ statystyk i histogramów na wydajność
• Sposoby zbierania statystyk i histogramów
• Strategie zliczania i estymacji 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 adaptywne
7. Śledzenie procesu optymalizacji
8. Zarządzanie planami zapytań
• Wzorce planów zapytań (outlines)
• Plany bazowe (Baselines)
• Profile
9. Logiczna i fizyczna struktura bazy
• Przestrzenie tabel
• Segmenty
• Rozszerzenia
• Bloki
10. Optymalizacja pełnego odczytu
• Kiedy stosować pełny odczyt
• Alokacja przestrzeni w bloku i segmencie, wskaźnik wysokiej wody, PCTFREE
• Wpływ operacji DML oraz sposobu alokacji przestrzeni na wydajność odczytów
• Ładowanie danych ścieżką konwencjonalną i bezpośrednią
• Reorganizacja fizyczna danych, obcinanie, defragmentacja, przebudowa
• Fizyczne wydzielanie aktywnych danych: tablice tymczasowe, partycjonowanie, widoki zmaterializowane
• Kompresja danych
11. Optymalizacja odczytu poprzez indeks
• Pojęcie ROWID
• Budowa 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 zakładania i usuwanie indeksów
• Indeks „dobry” i „zły”, CLUSTERING_FACTOR
• Właściwości i statystyki indeksów
• Rodzaje odczytów: UNIQUE, RANGE, SKIP, FULL, FAST FULL, MIN/MAX
• Rodzaje indeksów: unikalne, funkcyjne, wielokolumnowe, z odwróconym kluczem, lokalne/globalne, wirtualne, prywatne
• Wartości NULL w indeksach
• Tablice zorganizowane indeksowo (IOT)
• Indeksy bitmapowe i złączeniowe
12. Optymalizacja procesu sortowania
• Sortowanie pamięciowe
• Sortowania indeksowe
• Sortowania lingwistyczne
13. Optymalizacja złączeń i podzapytań
• Metody łączenia: MERGE, HASH, NESTED LOOP
• Złączenia w systemach OLTP i OLAP
• Złączenia gwiazdowe
• Kolejność łączeń
• Złączenia zewnętrzne
• Antyzłączenia
• Złączenia niepełne (SEMI)
• Podzapytania proste
• Podzapytania skorelowane
• Widoki
14. Monitorowanie wydajności i znajdowanie wąskich gardeł procesu
• Monitorowanie bieżącego stanu instancji poprzez widoki słownika systemowego (V$...) i narzędzia typu TopSQL, SQLMonitoring
• Monitorowanie poprzez słownik historyczny (DBA_HIST...), Raporty AWR
• Śledzenie sesji/procesu/użytkownika (SQLTrace, TkProf, TreSess)
• Pozyskiwanie informacji o wartościach zmiennych bindowanych i oczekiwaniach w procesie śledzenia