Partycjonowanie nigdy opcja poprawy wydajności. Najlepsze, na co możesz liczyć, to uzyskanie porównywalnej wydajności przy niepartycjonowanych tabelach. Zwykle otrzymujesz regresję, która rośnie wraz z liczbą partycji. Aby uzyskać wydajność, potrzebujesz indeksów, a nie partycji. Partycje są przeznaczone do operacji zarządzania danymi:ETL, archiwizacji itp. Niektórzy twierdzą, że eliminacja partycji jest możliwym wzrostem wydajności, ale w przypadku czegokolwiek eliminacja partycji może dać umieszczenie wiodącego klucza indeksu w tej samej kolumnie co kolumna partycjonowania, co da znacznie lepsze wyniki.
To zapytanie wymaga indeksu w State
. W przeciwnym razie jest to skanowanie tabeli i skanuje całą tabelę. Skanowanie tabeli przez partycjonowaną tabelę jest zawsze wolniejsze niż skanowanie niepartycjonowanej tabeli o tym samym rozmiarze. Sam indeks może być wyrównany do tego samego schematu partycji, ale kluczem wiodącym musi być State
.
Paralelizm nie ma nic wspólnego z podziałem, pomimo powszechnego błędnego przekonania, że jest inaczej. Operator równoległy może być używany zarówno przy partycjonowanym, jak i niepartycjonowanym skanowaniu zakresu. Będzie to decyzja Optymalizatora zapytań.
Nie
Pomoże w tym indeks. Jeśli indeks ma być wyrównany, musi być podzielony na partycje. Indeks niepartycjonowany będzie szybszy niż indeks partycjonowany, ale nie można obejść wymogu wyrównania indeksu dla operacji włączania/wyłączania.
Jeśli patrzysz na partycjonowanie, powinno to być spowodowane tym, że musisz wykonać szybkie operacje przełączania, aby usunąć stare dane z okresu przechowywania lub coś podobnego. Aby uzyskać wydajność, musisz patrzeć na indeksy, a nie na partycjonowanie.