PostgreSQL'de yeniyim ve genel olarak veritabanlarında biraz yeniyim. Postgres'te UUID değerlerini endekslememizin sağlam bir yolu var mı ? Otomatik olarak kullandığı dahili bir şey olmadığı sürece, karma kullanarak ve bir trie kullanarak arasında bölünürüm. Ne kullanırsam kullanırım, büyük miktarda veriyi kullanmak olacak.
SP-GiST operatör ailesi "text_ops" bir trie kullanarak endeksler. UUID'ler oldukça uzun ve birbirinden farklı olduğu için, bu sesler sadece tam eşleşme aramaları yapsam bile çekici.
Bir de karma seçenek var. Hashing O (1) ve elbette eşitlik dışında herhangi bir karşılaştırma yapmam gerekmeyecek, ancak UUID'ler oldukça uzun olduğu için onlardan karma üretmenin çok fazla zaman harcayacağından korkuyorum.
Yoksa bu sisteme çok fazla bağlı olan ve özellikleri kullanan bir şey mi?
Çoğu durumda bigserial kullanmak isterdim , ancak bunun için uuid kullanmam söylendi . Uuid'e ihtiyacımız var, çünkü farklı veritabanları kullanan birden fazla sunucumuz olabilir, bu yüzden benzersiz sonuçlara sahip olacağımızın garantisi yoktur. Her sunucu için farklı bir dizi (ve tohum) kullanabiliriz, ancak yine de UUID'ler kadar esnek değildir. Örneğin, ID'leri ve referanslarını her yere dönüştürmeden veritabanı girişlerini bir sunucudan diğerine taşıyamazdık.