Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Strojenie SQL w bazie Oracle
Autor: Marcin Malinowski
2
Agenda Rodzaje oracle’owych optymalizatorów Optymalizator regułowy
Optymalizator kosztowy Wybór optymalizatora Kilka częstych błędów Plan zapytania Wskazówki optymalizatora zapytań Pytania
3
Rodzaje optymalizatorów
Optymalizator regułowy (rule –based optimizer) Optymalizator (cost-based optimizer)
4
Optymalizator regułowy
Oparty na zestawie 20 reguł (tzw. „Złote reguły”) Brak czynników zewnętrznych (rozmiar tabeli, selektywność indeksów) Przykładowe reguły: 1. Rowid = constant 5.Kolumna z indeksem unikatowym = constant 20. Full scan tabeli
5
Optymalizator kosztowy
Bardziej wyrafinowany i elastyczny Działanie: Analiza składniowa Wszystkie plany zapytań Szacowanie kosztu Wybór najlepszego planu
6
Optymalizator kosztowy cd.
Statystyki oraz metody ich zbierania: Analyze table Dbms_stats
7
Wybór optymalizatora Zdecydowanie kosztowy Dlaczego:
Krótszy czas kodowania Programista nie musi znać reguł Większa uniwersalność, więcej produktów Regułowy nie rozwijany Wiele funkcji nie działa dla regułowego
8
Kilka częstych błędów Błędnie zapisane zapytania (bez indeksu)
Brak indeksów Niepotrzebne sortowania Widoki oparte na widokach Zbyt wiele złączeń Błędne ustawienie konfiguracyjne
9
Plan zapytania Polecenie explain plan Przykłady Nested loops
Hash_joins
10
Wskazówki optymalizatora
Wykorzystanie wskazówek (ang. Hints) Przykłady wskazówek index(index_name, table_name) First_rows Full Use_hash
11
Pytania Dziękuję
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.