Đây là hành vi hiện tại của PostgreSQL. Các chỉ mục duy nhất giải quyết phân vùng chứ không phải toàn bộ bảng. Bạn có một số tùy chọn:
-
Nếu có thể, hãy phân vùng các bảng của bạn để các phạm vi khóa là độc quyền theo một cách nào đó. Nói cách khác, phân vùng trên dữ liệu quan trọng. Đây là cách tiếp cận dễ dàng nhất, không phức tạp nhất. Ở đây, bạn đang phân vùng trên dữ liệu không phải khóa, đây là một vấn đề.
-
Nếu điều đó không hiệu quả, bạn có thể thêm giá trị phân vùng vào phía bên kia của phép nối. Lưu ý rằng tại thời điểm này, bạn cần kích hoạt phím tắt tùy chỉnh.
-
Nếu bạn thực sự cần, bạn có thể tạo chế độ xem cụ thể hóa do trình kích hoạt duy trì của tất cả các id và tạo một chỉ mục duy nhất trên đó.