Schemat partycjonowania HASH oznacza, że MySQL tłumaczy dowolną wartość liczbową na własną wartość skrótu. Zdefiniowałeś 366 partycji. Jak myślisz, co by się stało, gdyby Twoje zapytanie było:
WYJAŚNIJ PARTYCJE WYBIERZ * Z temp gdzie PartitionID =400?
Twój identyfikator partycji nie może w tym przypadku oznaczać rzeczywistego identyfikatora/nazwy partycji, ponieważ nie ma partycji 400.
Teraz, między nami dwoje, możesz być zainteresowany, aby dowiedzieć się, że funkcja HASHing MySQL jest prostym modułem. Zatem 0 mapuje na partycję p0, 1 mapuje na partycję p1, a 400 mapuje na partycję 34 (==400-366).
Ogólnie rzecz biorąc, nie powinieneś być zbyt zainteresowany identyfikacją używanej partycji. Powinieneś być bardziej zainteresowany, aby wiedzieć, że istnieje dobra równowaga partycji.
Jeśli równowaga nie wydaje Ci się odpowiednia, możesz rozważyć użycie schematu partycjonowania KEY, w którym algorytm mieszający opiera się na funkcji sumy kontrolnej, co oznacza, że wartości są bardziej „losowo” rozłożone w porównaniu ze schematem partycjonowania modułu HASH.