这些方法我都考虑过。但是都不是很合适,如果b+树可以解决这个问题,那是最好最方便的。但是找了一圈,没找到b+树如何重复键值的资料。
我有一个这样的要求:写入的时候完全在内存操作,比如一块1M的内存。操作完了。一起把内存写入磁盘。写入过程中不操作磁盘。
这种情况下,用链表会有个问题。当第一块1M的内存被写入磁盘之后。又来一个node,这时候就无法链接到前面上了。更极端的情况。这时候新来这个node可能需要链接到前前一块中。但是前面的内存块都已经写入磁盘了。
【 在 z16166 的大作中提到: 】
: chatgpt:
: 在数据库中处理一个key对应多个记录的情况,确实是一个常见的问题。这种情况通常通过创建“倒排索引”(Inverted Index)来解决。倒排索引特别适合这类场景,它不是直接将key映射到记录的位置,而是将key映射到一个中间结构,这个中间结构再指向具体的记录位置。
: 具体实现时,通常有几种策略:
: ...................
--
FROM 125.33.237.*