Ani trochę.
Jednym z najczęstszych scenariuszy partycjonowania jest użycie pola daty, które jest całkowicie niezwiązane z twoim PK.
Na przykład, jeśli masz tabelę Orders
z polem OrderDate
, najprawdopodobniej podzielisz partycję na podstawie miesiąca i roku OrderDate
.
Kiedy rekordy się zestarzeją i nie są już istotne, możesz przenieść te partycje do tabeli archiwum lub bazy danych, aby nie były już przetwarzane.
Partycjonowanie będzie działać z prawie każdym polem, ale aby działało DOBRZE, pola, na których partycjonujesz, powinny być używane w większości zapytań, jeśli nie we wszystkich. Jeśli nie podasz kluczy partycji, otrzymasz zasadniczo kosztowny skan tabeli, który przechodzi przez wiele tabel (partycji).
EDYTOWAĆ
W przypadku części drugiej myślę, że odpowiedź jest przecząca. Klucz partycji służy do określenia, w której partycji należy umieścić wiersz, ale nie sądzę, aby indeks był utrzymywany. Mogą być na nim statystyki.
Partition columns for a unique index must be a subset of the index key.
Oprócz odpowiedzi JNK, prawdopodobnie powinieneś przeczytać ten artykuł, który omawia wyrównywanie partycji tabel i indeksów.
Istnieje wiele rodzajów scenariuszy, w których schemat partycjonowania jest dokładnie zgodny z pierwszą kolumną klucza podstawowego - na przykład w scenariuszu hurtowni danych, w którym datą migawki tabeli faktów jest zwykle kolumna partycji, a także pierwsza kolumna w kluczu podstawowym.
Ale również w środowiskach OLTP, w których PK jest TOŻSAMOŚCIĄ lub innym kluczem zastępczym, nie ma sensu używać tego dla partycji, ponieważ partycjonowanie na dowolnych liczbach zwykle nie jest strasznie przydatne. W systemach OLTP również najczęściej dzielisz według daty (prawdopodobnie nie w PK), ale potencjalnie także regionalnie lub według jakiegoś podziału organizacyjnego (być może w PK, jeśli nie korzystasz z surogatu).
Ale to nie jest wymóg.
źródło
Musi być częścią klucza kandydackiego, jeśli nie częścią samego klucza podstawowego. Pomysł polega na tym, że partycjonowanie powinno wyrównać się z kluczem podstawowym.
Tak więc odpowiedź brzmi: tak, najlepiej być częścią PK. Jeśli nie inny klucz, który jest równie dobry, aby być PK.
źródło
OrderDate
. Czy masz coś na poparcie swoich roszczeń?