Bądźmy w kontakcie

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

Sugerowane szkolenie wstępne
ORA_S2, ORA_P2

Wymagania

Biegła znajomość SQL i PL/SQL. Praktyczne doświadczenie w pracy z Oracle lub innym silnikiem relacyjnych baz danych.

 28 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie