2

I'm writing my own little database engine. Is there any efficient way to implement skipping function other than inspecting every leaf nodes of B+tree, which will be slow with large entries.

4

2 に答える 2

0

インデックスにB+ツリーを使用している場合、すべての値はリーフに格納されるため、一緒にリンクして(順序付けられた)リンクリスト、または展開されたリンクリストを形成できます。これが、プレーンなBツリーに対するB+ツリーの主な利点です。

とはいえ、展開されたリストで何らかの形のスキップを実行できる場合でも、レコードにスキップリストを実装し、これらのリストのノードをbtree値として使用することを妨げるものは何もありません。

于 2013-03-01T04:51:26.480 に答える
0

2年後ですが、とにかく。カサンドラのやり方でもできます。制限はありませんが、前のクエリの最後のキーを指定します。たとえば、

select * from abc where key > 123 limit 100

123 は前のクエリの最後のキーです

于 2015-02-17T17:58:59.167 に答える