PostgreSQL中的Checksum字段进行内容比较

我有一个大内容(文本或二进制数据)表中的字段。 如果我想知道另一个文本是否等于这个文本,我可以使用校验和来比较这两个文本。 我可以将此字段定义为UNIQUE以避免重复的内容。

我的疑问是如果我创建校验和字段,这个比较会加快,所以PostgreSQL已经做到了这一点(无需程序员干预),或者我需要手动执行此操作?

编辑:什么是更好的,创建一个TEXT字段的校验和,使用它的校验和或两种方式是相同的东西?


PostgreSQL中没有默认的“校验和”,你必须自己实现一个。

回复评论

哈希索引为平等检查提供了快速性能。 并且它们会自动更新。 但是它们还没有完全集成到PostgreSQL中,因此不鼓励它们的使用 - 阅读手册。

而且你不能查询这些值并在你的应用程序中使用它们。 您可以使用校验和列来实现,但是如果您的表很大并且维护了列,则需要为性能添加索引。 我会使用触发器BEFORE INSERT OR UPDATE

所以,散列索引可能会或可能不会适合您。 @ AH的想法当然适合这个问题......


您可能会阅读“索引类型”手册,因为基本上,您希望像散列索引一样执行相同的操作,但只能徒手执行。 因此,您可以阅读PostgreSQL中散列索引的优缺点。

链接地址: http://www.djcxy.com/p/77375.html

上一篇: Checksum field in PostgreSQL to content comparison

下一篇: Understanding forall in Monad '>>=' function?