Sql Postgres索引字节数组列vs varchar

Sql Postgres索引字节数组列vs varchar,sql,postgresql,Sql,Postgresql,我们需要在插入记录之前执行重复检查。用于此检查的参数是字符串。这个字符串没有固定的长度(我们希望它继续增长)。因此,我们有以下选择 直接存储此字符串并对其编制索引,然后在where子句中使用它 将字节数组转换为字符串并索引后,对该字符串进行散列并存储 按原样存储字节数组并为其编制索引 最好的解决方案是什么?请建议。没有好的解决方案。索引项的大小非常有限,使用散列可能会出现误报冲突。“你需要的是一个无冲突的散列,但我认为这是一个很难解决的问题。”LaurenzAlbe,谢谢你的回答。我们计划使用S

我们需要在插入记录之前执行重复检查。用于此检查的参数是字符串。这个字符串没有固定的长度(我们希望它继续增长)。因此,我们有以下选择

  • 直接存储此字符串并对其编制索引,然后在where子句中使用它
  • 将字节数组转换为字符串并索引后,对该字符串进行散列并存储
  • 按原样存储字节数组并为其编制索引

  • 最好的解决方案是什么?请建议。

    没有好的解决方案。索引项的大小非常有限,使用散列可能会出现误报冲突。“你需要的是一个无冲突的散列,但我认为这是一个很难解决的问题。”LaurenzAlbe,谢谢你的回答。我们计划使用SHA-512,它具有非常低的哈希冲突。你认为这会引起问题吗?也许不会,但如果发生碰撞,你会怎么办?