Estou projetando um banco de dados postgres no qual existe uma tabela que possui uma coluna do tipo jsonb. Eu gostaria que esta coluna fosse única. Não há necessidade de ter dois objetos com exatamente a mesma configuração json na tabela. No futuro, isso me pouparia cerca de 5 minutos de tempo de computação por duplicata não salva no banco de dados. Estou ciente do risco de exclusividade do JSON quando se trata de dictos (a ordem das chaves não é garantida), mas acho que um bom codificador JSON pode mitigar isso.
Minha preocupação é com o desempenho do banco de dados. Quero ter certeza de que estamos fazendo todo o possível para garantir que as inserções não sejam terrivelmente retardadas com essa restrição de exclusividade no jsonb. Quão ruim seria uma restrição de exclusividade em jsonb comparada a uma exclusividade em varchar ou int? Estamos falando de milissegundos, segundos ou minutos?
Examinei o índice Hash , que parece ser tudo o que eu precisaria para obter o desempenho ideal. Mas. Somente o tipo de índice de árvore B pode ser único, o que é estranho. Por que?