나는 PostgreSQL을 처음 사용하고 일반적으로 데이터베이스를 처음 사용합니다. Postgres에서 UUID 값을 색인화하는 방법이 확립 되어 있습니까? 자동으로 사용되는 내장 기능이 없다면 해싱 사용과 trie 사용으로 나뉩니다. 내가 사용하는 것은 방대한 양의 데이터를 처리하는 것입니다.
SP-GiST 운영자 제품군 "text_ops"는 trie를 사용하여 색인합니다. UUID는 매우 길고 매우 다르기 때문에, 완전 일치 검색 만 수행하더라도 이러한 사운드는 매력적입니다.
해시 옵션도 있습니다. 해싱은 O (1)이며, 물론 평등 외에도 비교를 수행 할 필요가 없지만 UUID가 상당히 길기 때문에 해시를 생성하면 많은 시간이 낭비 될까 걱정됩니다.
아니면 이것이 시스템에 너무 의존하고 특정을 사용하는 것입니까?
나는 대부분의 경우 큰 직렬 을 사용하고 싶지만 이것을 위해 uuid 를 사용하라는 지시를 받았습니다. 서로 다른 데이터베이스를 사용하는 여러 서버가있을 수 있으므로 uuid 가 필요 하므로 고유 한 bigint를 보장 할 수 없습니다. 각 서버마다 다른 시퀀스 (및 시드)를 사용할 수 있지만 여전히 UUID만큼 유연하지는 않습니다. 예를 들어 ID와 해당 참조를 어디에서나 변환하지 않으면 한 서버에서 다른 서버로 데이터베이스 항목을 마이그레이션 할 수 없습니다.