Wzdrygam się, gdy widzę komentarze, że pełne tablesany są złe, a dostęp do indeksu dobry. Pełne skanowanie tabel, skanowanie zakresu indeksów, szybkie pełne skanowanie indeksów, zagnieżdżone pętle, łączenie przez scalanie, łączenie mieszające itp. To po prostu mechanizmy dostępu, które muszą być zrozumiane przez analityka i połączone ze znajomością struktury bazy danych i celu zapytania w aby dojść do jakiegokolwiek sensownego wniosku.
Pełne skanowanie jest po prostu najskuteczniejszym sposobem odczytu dużej części bloków segmentu danych (tabeli lub tabeli (pod) partycji) i chociaż często może wskazywać na problem z wydajnością, to tylko w kontekście czy jest to skuteczny mechanizm do osiągnięcia celów zapytania. Mówiąc jako hurtownik danych i facet z BI, moją flagą numer jeden ostrzegawczą dotyczącą wydajności jest metoda dostępu oparta na indeksach i zagnieżdżona pętla.
Tak więc, jeśli chodzi o mechanizm czytania planu wyjaśniającego, dobrym przewodnikiem jest dokumentacja Oracle: http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/ex_plan.htm#PFGRF009
Przeczytaj również Przewodnik po dostrajaniu wydajności.
Znajdź także wyszukiwarkę „informacji zwrotnej o liczności”, techniki, w której plan wyjaśniania może być użyty do porównania oszacowań liczności na różnych etapach zapytania z rzeczywistymi licznościami doświadczanymi podczas wykonywania. Moim zdaniem autorem metody jest Wolfgang Breitling.
Podsumowując: poznaj mechanizmy dostępu. Zapoznaj się z bazą danych. Zrozum intencję zapytania. Unikaj praktycznych zasad.