Szkolenie kompleksowe: Tuning wydajności SQL w bazach danych Oracle 12c - 21c
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wstęp do strojenia poleceń
- Cele i metodologia strojenia
- Architektura bazy i instancji
- Konfiguracja parametrów instancji
- Fizyczna i logiczna struktura bazy danych
- nacznik High Water Mark
- Optymalizator regulowy
- Optymalizator kosztowy
- kolejność wykonywania polecenia SQL
- HARD PARSE / SOFT PARSE
- Transformacja polecenia SQL
- Metody dostępu do danych
- Metody dostępu do danych dla tabel
- Full scan
- Sample scan
- By rowid (index rowid/user rowid)
- Metody dostępu do danych dla indeksów
- Full scan
- Fast full scan
- Range scan
- Unique scan
- Skip scan
- Indeksy B-Tree
- Zasada działania indeksów
- Optymalizacja wyszukiwania wierszy z użyciem indeksów
- Optymalizacja odczytu wybranych kolumn z użyciem indeksów
- Optymalizacja funkcji agregujących z użyciem indeksów
- Indeksy B-Tree a nulle
- Optymalizacja podzapytań nieskorelowanych z użyciem indeksów
- Optymalizacja podzapytań skorelowanych z użyciem indeksów
- Optymalizacja funkcji analitycznych z użyciem indeksów
- Optymalizacja łączenia tabel z użyciem indeksów
- Selektywność a wykorzystanie indeksów
- Tworzenie wielu indeksów na tym samym zestawie kolumn
- Indeksy a funkcje na kolumnach
- Indeksy a niejawna konwersja
- Indeksy funkcyjne
- Indeksy funkcyjne na funkcjach wbudowanych
- Indeksy funkcyjne na funkcjach PL/SQL
- Indeksy na kolumnach wirtualnych
- Indeksy bitmapowe
- Indeksowanie kolumn typu JSON
- indeksy funkcyjne
- indeksy b-tree
- indeks bitmapowy
- Search index
- Wpływ indeksów na operacje DML
- Monitorowanie użycia indeksów
- Index Monitoring
- Index Usage Tracking
- Tabele IOT
- Statystyki tabel i indeksów
- Wpływ statystyk na dobór metod dostępu do danych
- Wpływ statystyk na metody łączenia tabel
- Pułapki związane z nieaktualnymi statystykami
- Weryfikowanie statystyk
- Automatyczne odświeżanie statystyk
- Ręcznie odświeżanie statystyk
- statystyki rozszerzone
- Histogramy
- Znaczenie histogramów dla szacowania selektywności i doboru metod dostępu do danych
- rodzaje histogramów
- Tworzenie histogramów
- CARDINALITY
- znaczenie CARDINALITY przy wyborze optymalnego planu zapytania
- przyczyny błędnego wyliczania CARDINALITY
- sposoby rozwiązywania problemów z błędnie wyliczonym CARDINALITY
- Explain Plan
- Zrzucanie planów wykonania zapytań do plan_table
- Porównywanie planów wykonania zapytań pod kątem różnych rodzajów obciążeń
- Explain Plan - zaawansowane możliwości
- DISPLAY_CURSOR
- ALLSTATS LAST
- Predykaty
- Format
- Result cache
- Kiedy warto stosować result cache?
- Cacheowanie wyników zapytań i korzystanie z zapisanych wyników zapytań
- Result cache dla funkcji PL/SQL
- Optymalizacja zapytań wywołujących funkcje
- Problemy z wyliczaniem CARDINALITY
- Wykorzystanie indexów funkcyjnych do optymalizacji
- Wykorzystanie kolum wirtualnych do optymalizacji
- Klauzula WITH
- Hint WITH_PLSQL
- DETERMINISTIC
- UDF
- RESULT_CACHE
- Manualne cachowanie z wykorzystaniem kolekcji PL/SQL
- cachowanie funkcji skalarnych
- Autotrace
- SQL Trace oraz TKPROF
- Cele stosowania tracingu aplikacji
- Obserwacja własnej sesji
- Obserwacja innych sesji
- Odnajdywanie niewydajnych zapytań
- Wykorzystanie zmiennych bindowanych i kursorów współdzielonych
- Zmienne bindowane a szacowanie selektywności
- Stosowanie zmiennych bindowanych do współdzielenia planów wykonania zapytania
- cursor_sharing
- Negatywne skutki stosowania zmiennych bindowanych
- zmienne zbindowane a dynamiczny SQL
- Sterowanie optymalizatorem kosztowym - hinty optymalizatora
- Wymuszanie metod dostępu do danych
- Wymuszanie algorytmów łączenia tabel
- Inne przydatne hinty
- CANCEL SQL
- DBMS_UTILITY.expand_sql_text
- Optymalizacja ładowania danych
- DML z opcją LOG_ERRORS
- DIRECT PATH
- APPEND
- Restrykcje
- APPEND_VALUES
- NOLOGGING
- external tables
- inline external tables
- Widoki zmaterializowane
- Zwykłe widoki a widoki zmaterializowane
- Kiedy warto stosować widoki zmaterializowane?
- Tworzenie widoków zmaterializowanych
- Odświeżanie kompletne
- Materialized view log
- Odświeżanie przyrostowe
- Odświeżanie automatyczne
- Query Rewrite
- Partycjonowanie tabel
- Partycjonowanie zakresowe
- Partycjonowanie hashowe
- EXCHANGE partition
- indeksy globalne
- indeksy lokalne
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!O szkoleniu w skrócie
Kompleksowe szkolenie: Tuning wydajności SQL w bazach danych Oracle to intensywny kurs skoncentrowany na optymalizacji zapytań SQL oraz procesów ładowania danych w środowisku Oracle. Podczas tego szkolenia uczestnicy zdobędą wiedzę na temat zaawansowanych technik optymalizacji, identyfikacji i rozwiązywania problemów związanych z wydajnością w bazach danych Oracle.
Podczas szkolenia zostaną omówione kluczowe aspekty wpływające na wydajność zapytań, takie jak podstawy architektury i struktury baz danych Oracle, działanie optymalizatora regułowego i kosztowego, efektywne wykorzystanie indeksów a także naliczanie statystyk i histogramów. Uczestnicy zdobędą również wiedzę na temat analizy planów wykonania zapytań oraz poznają zaawansowane możliwości explain plan.
W trakcie szkolenia uczestnicy poznają skuteczne metody optymalizacji zapytań wykorzystujących funkcje PL/SQL oraz zyskają umiejętności optymalizacji procesów ładowania danych.
Każde omawiane zagadnienie jest utrwalane poprzez serię ćwiczeń o wzrastającym poziomie trudności. W szkoleniu duży nacisk jest kładziony na pełne zrozumienie zasad działania stosowanych technik, co pozwoli uczestnikom na ich efektywne i świadome wykorzystywanie w praktyce.
Korzyści ze szkolenia
Po ukończeniu tego szkolenia uczestnik będzie potrafił:
- poprawić struktury obiektów bazy danych w celu otrzymania lepszej wydajności,
- zoptymalizować zapytanie SQL,
- zoptymalizować zapytanie wykorzystujące funkcje PL/SQL,
- zoptymalizować procesy ładowania danych,
- naliczać statystyki i histogramy,
- stosować zaawansowane statystyki,
- analizować plany wykonania zapytań z wykorzystaniem zaawansowanych możliwości EXPLAN PLAN
- obserwować sesję za pomocą SQL Trace i znajdować nieptymalne zapytania,
- tworzyć widoki zmaterializowane,
- tworzyć spartycjonowane tabele
Dla kogo?
Szkolenie przeznaczone jest dla programistów Oracle oraz wszystkich osób pracujących z bazami danych, które chcą poznać metody optymalizacji zapytań SQL. Adresowane jest zarówno do początkujących, którzy chcą zdobyć solidne podstawy, jak i do zaawansowanych użytkowników, którzy pragną pogłębić swoją wiedzę i opanować zaawansowane techniki optymalizacji.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia