看了一下 H2 数据库的最新实现代码,它做 Compact 时如果一个 page 要重写依然要读到内存,把记录反序列化出来再写到新的位置。直接把 page 的二进制数据挪到新位置确实要对 page 的存储格式进行精密设计,如果其中的某个数据依赖上下文信息那就不能直接挪了,比如checksum的计算依赖上下文信息。
看了一下 H2 数据库的最新实现代码,它做 Compact 时如果一个 page 要重写依然要读到内存,把记录反序列化出来再写到新的位置。直接把 page 的二进制数据挪到新位置确实要对 page 的存储格式进行精密设计,如果其中的某个数据依赖上下文信息那就不能直接挪了,比如checksum的计算依赖上下文信息。
No replies yet.