我是Postgresql的新手,对数据库来说有点新鲜.我们应该如何在Postgres中索引
UUID值?我在使用散列和使用trie之间分开,除非它已经内置了自动使用的内容.无论我使用什么,都将处理大量数据.
SP-GiST运算符族“text_ops”索引使用trie.因为UUID非常长而且非常不同,即使我只进行完全匹配搜索,这些听起来也很吸引人.
还有一个哈希选项.哈希是O(1),除了平等之外我不需要做任何比较,但是因为UUID很长,我担心从它们产生哈希会浪费很多时间.
或者这是否过分依赖于系统和使用细节?
在大多数情况下我宁愿使用bigserial,但我被告知要使用uuid.我们需要uuid,因为我们可能有多个服务器使用不同的数据库,所以不能保证我们会有独特的bigint.我们可以为每个服务器使用不同的序列(和种子),但它仍然不如UUID灵活.例如,我们无法将数据库条目从一个服务器迁移到另一个服务器,而无需在任何地方转换ID及其引用.