Chcę się dowiedzieć, czy istnieje korzyść z wydajności partycjonowania kolumny liczbowej, która często jest celem kwerendy. Obecnie mam zmaterializowany widok, który zawiera ~ 50 milionów rekordów. Korzystając ze zwykłego indeksu b-tree i przeszukując tę kolumnę numeryczną, otrzymuję koszt 7, a wyniki zapytania w około 0,8 sekundy (z niepochrytą pamięcią podręczną). Po dodaniu globalnej partycji mieszającej (z 64 partycjami) dla tej kolumny otrzymuję koszt 6, a wyniki zapytania około 0,2 sekundy (ponownie z niepochrytą pamięcią podręczną).Czy indeks partycjonowany globalnie jest lepszy (szybszy) niż indeks niepartycjonowany?
Moja pierwsza reakcja to fakt, że indeks partycjonowany poprawił wydajność mojego zapytania. Jednak zdaję sobie sprawę, że może to być tylko zbieg okoliczności i może być całkowicie zależny od poszukiwanych wartości lub innych, których nie znam. Więc moje pytanie brzmi: czy istnieje korzyść z wydajności dodania globalnej partycji hash do kolumny numerycznej na dużej tabeli lub jest kosztem określenia, które partycje indeksu mają zostać przeskanowane - zważone przez koszt zrobienia pełnego zakresu skanowania nieindeksowana partycja?
Jestem pewien, że tak jak wiele pytań Oracle, można odpowiedzieć "to zależy". :) Chciałbym się dowiedzieć, jakie czynniki powinienem rozważyć, aby określić zalety każdego podejścia.
Dzięki!