Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL与内容比较中的校验和字段_Postgresql_Checksum - Fatal编程技术网

PostgreSQL与内容比较中的校验和字段

PostgreSQL与内容比较中的校验和字段,postgresql,checksum,Postgresql,Checksum,我在表中有一个包含大量内容(文本或二进制数据)的字段。如果我想知道另一个文本是否等于这个文本,我可以使用校验和来比较这两个文本。我可以将此字段定义为UNIQUE,以避免重复内容 我的疑问是,如果我创建一个校验和字段,这个比较会加快,所以PostgreSQL已经在做这个了(不需要程序员干预),或者我需要手动做这个 编辑:更好的方法是,为文本字段创建一个校验和,对其使用校验和,否则这两种方法是相同的?PostgreSQL中没有默认的大列“校验和”,您必须自己实现一个 对评论的答复 散列索引为相等性检

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

我的疑问是,如果我创建一个校验和字段,这个比较会加快,所以PostgreSQL已经在做这个了(不需要程序员干预),或者我需要手动做这个

编辑:更好的方法是,为
文本
字段创建一个校验和,对其使用校验和,否则这两种方法是相同的?

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

对评论的答复 散列索引为相等性检查提供了快速性能。它们会自动更新。但它们尚未完全集成到PostgreSQL中,因此不鼓励使用它们

例如,您不能查询这些值并在应用程序中使用它们。可以使用校验和列来实现这一点,但如果表很大,则需要添加性能索引并维护该列。我会在插入或更新之前使用触发器


因此,哈希索引可能适合您,也可能不适合您@A.H.的想法当然适合这个问题……

你可以阅读手册,因为基本上你想做与散列索引相同的事情,但你可以徒手操作。因此,您可能会阅读PostgreSQL中哈希索引的优缺点。

好的,但是如果我为
文本
列创建校验和,或者使用一些PostgreSQL索引,这两种方法将是相同的?@RenatoDinhaniConceiço:这取决于。我在回答中添加了一些注意事项。谢谢,我将进行手动校验和验证,因为我也需要在应用程序中使用这些值,而不仅仅是在数据库中。我会尝试这两种方法,看看哪一种效果更好。