我在 SQL Server 中有一个包含数十亿行的表。我想确保数据是只读的(不可变的),并且在插入数据库后始终不会更改。
我目前的想法是使用SHA3 哈希算法来制作哈希链。
HASH(current_row) = HASH(HASH(previous_row) + current_row) # as the hash content of the current row
上述解决方案有以下缺点:
如果有数十亿行,则可能需要很长时间,因为每个记录散列都与前一条记录的散列相关。
它不允许并行计算。
考虑到性能,确保数据完整性的最实用方法是什么?