Tôi mới sử dụng PostgreSQL và hơi mới đối với cơ sở dữ liệu nói chung. Có cách nào được thiết lập về cách chúng ta nên lập chỉ mục các giá trị UUID trong Postgres không? Tôi phân chia giữa việc sử dụng băm và sử dụng bộ ba, trừ khi có một cái gì đó tích hợp sẵn mà nó sử dụng tự động. Bất cứ điều gì tôi sử dụng sẽ được xử lý một lượng lớn dữ liệu.
Các chỉ mục "text_ops" của toán tử SP-GiST sử dụng bộ ba. Bởi vì UUID khá dài và rất khác nhau, những âm thanh này hấp dẫn mặc dù tôi chỉ thực hiện tìm kiếm kết hợp đầy đủ.
Ngoài ra còn có một tùy chọn băm. Băm là O (1) và tôi sẽ không cần phải so sánh ngoài việc bình đẳng, nhưng vì UUID khá dài, tôi sợ rằng việc tạo băm từ chúng sẽ lãng phí rất nhiều thời gian.
Hay đây là một cái gì đó phụ thuộc quá nhiều vào hệ thống và sử dụng chi tiết cụ thể?
Tôi thà sử dụng bigserial trong hầu hết các trường hợp, nhưng tôi đã được khuyên sử dụng uuid cho việc này. Chúng tôi cần uuid vì chúng tôi có thể có nhiều máy chủ sử dụng các cơ sở dữ liệu khác nhau, vì vậy không có gì đảm bảo rằng chúng tôi sẽ có những gợi ý độc đáo. Chúng tôi có thể sử dụng một chuỗi (và hạt giống) khác nhau cho mỗi máy chủ, nhưng nó vẫn không linh hoạt như UUID. Ví dụ: chúng tôi sẽ không thể di chuyển các mục cơ sở dữ liệu từ máy chủ này sang máy chủ khác mà không cần chuyển đổi ID và tài liệu tham khảo của chúng ở mọi nơi.