我正在编写自己的小型数据库引擎。除了检查B +树的每个叶子节点之外,是否有任何有效的方法来实现跳过功能,这对于大型条目来说会很慢。
答案 0 :(得分:0)
如果您使用B +树作为索引,则所有值都存储在叶子中,因此可以链接在一起形成(有序)链接列表,或者更确切地说是unrolled linked list。这是B +树优于普通B树的主要优势。
也就是说,即使展开的列表允许您进行某种形式的跳过,也没有什么可以阻止您在记录上实现skip lists,并使用这些列表的节点作为btree值。
答案 1 :(得分:0)
2年后,但无论如何。 你也可以用Cassandra的方式来做。没有限制,但您指定了上一个查询的最后一个键,例如
从abc中选择*其中键> 123限制100
其中123是上一次查询的最后一个键