Lược đồ phân vùng HASH có nghĩa là MySQL chuyển giá trị số tùy ý của bạn thành giá trị băm của riêng nó. Bạn đã xác định 366 phân vùng. Bạn nghĩ điều gì sẽ xảy ra nếu truy vấn của bạn là:
GIẢI THÍCH CÁC PHẦN CHỌN * TỪ tạm thời trong đó PartitionID =400?
PartitionID của bạn trong trường hợp này không thể có nghĩa là ID / tên của phân vùng thực, vì không có phân vùng 400.
Bây giờ, chỉ giữa hai chúng tôi, bạn có thể muốn biết rằng hàm HASHing của MySQL là một mô đun đơn giản. Do đó, 0 ánh xạ tới phân vùng p0, 1 ánh xạ tới phân vùng p1 và 400 ánh xạ tới phân vùng 34 (==400-366).
Nói chung, bạn không nên quá quan tâm đến việc xác định phân vùng cụ thể đang được sử dụng. Bạn nên quan tâm hơn khi biết rằng có sự cân bằng tốt giữa các phân vùng.
Nếu số dư có vẻ không phù hợp với bạn, bạn có thể cân nhắc sử dụng lược đồ phân vùng KEY, trong đó thuật toán băm dựa trên hàm tổng kiểm, có nghĩa là các giá trị được trải rộng "ngẫu nhiên" hơn so với lược đồ phân vùng mô-đun HASH.