| Tytuł: | Tuning zapytań SQL |
| Kod: | ora-tuning |
| Kategoria: | Oracle |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | admini, developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Optymalizacja to proces ciągły w którym powinni uczestniczyć administratorzy baz danych, projektanci oraz programiści.
Szkolenie obejmuje wybrane zagadnienia przydatne wymienionym grupom. Ma ono na celu ukierunkowanie oraz przekazanie wiedzy z podstaw projektowania oraz optymalizacji systemów bazodanowych.
Szkolenie przeprowadzone jest na wersji Oracle 11g. Niektóre zagadnienia tyczą się także poprzednich wersji bazy tj. Oracle 9i oraz Oracle 10g.
Wyróżniki szkolenia
- Szkolenie prowadzone przez certyfikowanego eksperta: OCP: Oracle Database Administrator Certified Professional
- Prezentacja praktycznych rozwiązań najczęściej pojawiających się sytuacji i problemów
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Wprowadzenie do struktur Oracle.- Rodzaje indexów. Fizyczna struktura indexów B-Tree oraz Bitmap,
- Ścieżki dostępu do wierszy,
- Użycie indexów na kolumnach typu null,
- Użycie indexów kompozytowych – zasady doboru kolumn,
- Tabele zorganizowane na indeksach (IOT),
- Indexy „niewidzialne” – niewidzialni pomocnicy przy optymalizacji,
- Monitoring użycia indexów,
- Projektowanie indexów, przebudowa indexów,
- Rodzaje triggerów. Zasady działania poszczególnych typów triggerów.
- Podział widoków. Zasady działania poszczególnych typów widoków. Przykłady implementacji widoków.
- Użycie widoków zmaterializowanych
- Ćwiczenia praktyczne (1h)
- Rodzaje indexów. Fizyczna struktura indexów B-Tree oraz Bitmap,
-
Optymalizator kosztowy (CBO).- Zasady działania optymalizatora kosztowego. Jak wyliczany jest koszt zapytania?
- Parametry bazy danych, które maja wpływ na działania optymalizatora. Omówienie poszczególnych parametrów na przykładach,
- Sposoby dostępu do danych.
- Rodzaje złączeń: iloczyn kartezjański, hash join, nested loops join, sort merge join, outer Join
- Pełny przegląd tabel – kiedy stosujemy?
- Kiedy stosujemy hinty – metody wspomagania optymalizatora,
- Rodzaje hintów i ich wpływ na plany zapytań,
- Wpływ operatorów użytych w zapytaniu na plany zapytań,
- Sposób parsowania zapytania przez optymalizator kosztowy.
- Ćwiczenia praktyczne (1h)
- Zasady działania optymalizatora kosztowego. Jak wyliczany jest koszt zapytania?
-
Statystyki optymalizatora.- Rodzaje statystyk optymalizatora
- Statystyki tabel, indexów oraz kolumn,
- Wpływy histogramów na dostęp do danych,
- Histogramy wielokolumnowe,
- Zarządzanie statystykami na obiektach, zbieranie, blokowanie, przenoszenie oraz kasowanie statystyk,
- Automatyczne zbieranie statystyk,
- Kalibracja systemu przy pomocy DBMS_STATS,
- Interpretacja statystyk,
- Statyki na słownikach bazy danych.
- Ćwiczenia praktyczne (1h)
- Rodzaje statystyk optymalizatora
-
Plany zapytań.- Czym jest plan wykonania zapytania?
- Sposoby interpretowania oraz monitorowania planów zapytań przy pomocy dbms_xplan, auto trace, słowniki systemowe, narzędzia bazodanowe.
- Zarządzanie planami wykonania,
- Jak zmienić istniejący plan zapytania? Omówienie plan stability, sql profiles oraz sql plan management.
- Kiedy można uznać , że wykonanie zapytania oraz plan zapytania są optymalne?
- Narzędzia monitoringu niewydajnych zapytań, AWR, statspack, słowniki bazodanowe, pliki śladu, tkprof, trcsess.
- Poziomy śledzenia sesji,
- Interpretacja plików śladu.
- Ćwiczenia praktyczne (1h)
- Czym jest plan wykonania zapytania?
-
Zmienne wiązane.- Zmienne wiązane vs. Literały,
- Wspomaganie optymalizatora przez zmianę parametru cursor_sharing,
- Wartości parametru cursor_sharing,
- Wpływ użycia zmiennych wiązanych na czas wykonania zapytań sql.
- Adaptive cursor sharing,
- Miękkie parsowanie vs. twarde parsowanie.
- Ćwiczenia praktyczne (30m)
- Zmienne wiązane vs. Literały,
-
Oracle Partitioning.- Planowanie partycjonowania,
- Jaki przyjąć klucz przy projektowaniu partycjonowania,
- Możliwe rodzaje partycjonowania,
- Implementacja partycjonowania - przykłady
- Znaczenie partycjonowania przy projektowaniu bazy danych,
- Indexy globalne vs. Lokalne. Wady i zalety obu rozwiązań.
- Ćwiczenia praktyczne (1h 30m)
- Planowanie partycjonowania,
-
Optymalizacja Oracle – najlepsze praktyki.- Zasady, których powinniśmy się wystrzegać,
- Zasady, które należy stosowań.
- Zasady, których powinniśmy się wystrzegać,
Pobierz program w formacie PDF