EXPLAIN PLAN
Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200
Polecenie EXPLAIN PLAN jest wykorzystywane do strojenia zapytań SQL. Jako parametr przyjmuje ono analizowane zapytanie SQL, a jako wynik podaje plan wykonania tego zapytania w zależności od wybranego w systemie optymalizatora. Jest to narzędzie ułatwiające analizę efektów poczynionych zmian w systemie, np. po utworzeniu lub usunięciu indeksów, czy tez tez po wprowadzeniu podpowiedzi do zapytania itp. Wyniki tego polecenia są umieszczane w specjalnej tabeli. Domyślna nazwa tej tabeli jest plan_table. Taka tabele można utworzyć skryptem utlxplan.sql. Przykłądowe wywołanie tego polecenia ma postać:
EXPLAIN PLAN SET STATEMENT_ID='Nazwa raportu' INTO plan_table FOR SELECT * FROM tab1,tab2 where tab1.id=tab2.id ORDER BY tab1.id;
Wyniki polecenia zapisane są w tabeli plan_table. Aby przeanalizować wyniki zapytania można wykonać poniższe zapytanie:
SELECT SUBSTR(LPAD(' ', 2*( LEVEL-1))||operation,1,30) || ' ' || SUBSTR(options,1,15) || ' ' || SUBSTR(object_name,1,15) || ' ' || SUBSTR(DECODE(id,0, 'Kosz: ' || position),1,12) "Plan wykonania", SUBSTR(optimizer,1,10) "Optymalizator" FROM plan_table START WITH id=0 AND statement_id='Nazwa raportu' CONNECT BY PRIOR id=parent_id AND statement_id='Nazwa raportu' powrót
Komentarze
Dodaj Komentarz
Newsletter
Jeżeli chcesz być na bieżąco informowany o aktualnościach i poradach IT zapisz się do naszego newslettera.