Tuning zapytań SQL

Tytuł: Tuning zapytań SQL
Kod: ora-tuning
Kategoria: Oracle
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3 dni
Odbiorcy: developerzy, admini
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.

  1. Wprowadzenie do struktur Oracle.
    1. Rodzaje indexów. Fizyczna struktura indexów B-Tree oraz Bitmap,
    2. Ścieżki dostępu do wierszy,
    3. Użycie indexów na kolumnach typu null,
    4. Użycie indexów kompozytowych – zasady doboru kolumn,
    5. Tabele zorganizowane na indeksach (IOT),
    6. Indexy „niewidzialne” – niewidzialni pomocnicy przy optymalizacji,
    7. Monitoring użycia indexów,
    8. Projektowanie indexów, przebudowa indexów,
    9. Rodzaje triggerów. Zasady działania poszczególnych typów triggerów.
    10. Podział widoków. Zasady działania poszczególnych typów widoków. Przykłady implementacji widoków.
    11. Użycie widoków zmaterializowanych
    12. Ćwiczenia praktyczne (1h)
  2. Optymalizator kosztowy (CBO).
    1. Zasady działania optymalizatora kosztowego. Jak wyliczany jest koszt zapytania?
    2. Parametry bazy danych, które maja wpływ na działania optymalizatora. Omówienie poszczególnych parametrów na przykładach,
    3. Sposoby dostępu do danych.
    4. Rodzaje złączeń: iloczyn kartezjański, hash join, nested loops join, sort merge join, outer Join
    5. Pełny przegląd tabel – kiedy stosujemy?
    6. Kiedy stosujemy hinty – metody wspomagania optymalizatora,
    7. Rodzaje hintów i ich wpływ na plany zapytań,
    8. Wpływ operatorów użytych w zapytaniu na plany zapytań,
    9. Sposób parsowania zapytania przez optymalizator kosztowy.
    10. Ćwiczenia praktyczne (1h)
  3. Statystyki optymalizatora.
    1. Rodzaje statystyk optymalizatora
    2. Statystyki tabel, indexów oraz kolumn,
    3. Wpływy histogramów na dostęp do danych,
    4. Histogramy wielokolumnowe,
    5. Zarządzanie statystykami na obiektach, zbieranie, blokowanie, przenoszenie oraz kasowanie statystyk,
    6. Automatyczne zbieranie statystyk,
    7. Kalibracja systemu przy pomocy DBMS_STATS,
    8. Interpretacja statystyk,
    9. Statyki na słownikach bazy danych.
    10. Ćwiczenia praktyczne (1h)
  4. Plany zapytań.
    1. Czym jest plan wykonania zapytania?
    2. Sposoby interpretowania oraz monitorowania planów zapytań przy pomocy dbms_xplan, auto trace, słowniki systemowe, narzędzia bazodanowe.
    3. Zarządzanie planami wykonania,
    4. Jak zmienić istniejący plan zapytania? Omówienie plan stability, sql profiles oraz sql plan management.
    5. Kiedy można uznać , że wykonanie zapytania oraz plan zapytania są optymalne?
    6. Narzędzia monitoringu niewydajnych zapytań, AWR, statspack, słowniki bazodanowe, pliki śladu, tkprof, trcsess.
    7. Poziomy śledzenia sesji,
    8. Interpretacja plików śladu.
    9. Ćwiczenia praktyczne (1h)
  5. Zmienne wiązane.
    1. Zmienne wiązane vs. Literały,
    2. Wspomaganie optymalizatora przez zmianę parametru cursor_sharing,
    3. Wartości parametru cursor_sharing,
    4. Wpływ użycia zmiennych wiązanych na czas wykonania zapytań sql.
    5. Adaptive cursor sharing,
    6. Miękkie parsowanie vs. twarde parsowanie.
    7. Ćwiczenia praktyczne (30m)
  6. Oracle Partitioning.
    1. Planowanie partycjonowania,
    2. Jaki przyjąć klucz przy projektowaniu partycjonowania,
    3. Możliwe rodzaje partycjonowania,
    4. Implementacja partycjonowania - przykłady
    5. Znaczenie partycjonowania przy projektowaniu bazy danych,
    6. Indexy globalne vs. Lokalne. Wady i zalety obu rozwiązań.
    7. Ćwiczenia praktyczne (1h 30m)
  7. Optymalizacja Oracle – najlepsze praktyki.
    1. Zasady, których powinniśmy się wystrzegać,
    2. Zasady, które należy stosowań.


Pobierz program w formacie PDF

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

  • MySQL pod obstrzałem
    KATEGORIE: Bazy danych

    Skalowanie i tuning MySQL.

    Autor Bottega:

    Mariusz Gil

  • The base problem
    KATEGORIE: Bazy danych

    Relational, graph, document, in memory, key-value, search, stream, embedded - those are the most common database types. This talk will cover types of databases, their weaknesses, main players, strong points when to use them, and when it might not be the best idea and lastly how to combine them.

    Autor Bottega:

    Szymon Warda

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.