我是PostgreSQL的新手,而对于数据库则是新手。有没有确定的方法来索引Postgres中的UUID值?我在使用散列和使用Trie之间是分开的,除非已经有一些内置的东西可以自动使用。无论我使用什么,都将处理大量数据。
SP-GiST运算符系列“ text_ops”使用特里索引。因为UUID很长且非常不同,所以即使我只进行完全匹配搜索,这些听起来也很吸引人。
还有一个哈希选项。哈希为O(1),我当然不需要做任何比较,但是,由于UUID很长,因此恐怕从它们生成哈希值会浪费很多时间。
还是这过于依赖系统和使用细节?
在大多数情况下,我宁愿使用bigserial,但有人告诉我为此使用uuid。我们需要uuid,因为我们可能有多个使用不同数据库的服务器,因此不能保证我们将拥有唯一的bigint。我们可以为每个服务器使用不同的序列(和种子),但是它仍然不如UUID灵活。例如,如果不将ID及其引用转换到各处,就无法将数据库条目从一台服务器迁移到另一台服务器。