我知道如何为单列索引实现b树,但是如何在rdbms项目中为多列索引实现b-tree?
例如,我有一个由文档记录组成的表:
Documents
-------------
id
serial_no
order_no
record_sequence
如果我创建一个包含3列的索引,例如:
CREATE INDEX UNIQUE myindex(serial_no, order_no, record_sequence);
然后我以这种格式为我的b树结构提供了一个关键名称:
serial_no*order_no*record_sequence
。
我可以通过此索引和此查询请求记录:
SELECT * FROM Documents WHERE serial_no='ABC' AND order_no=500 AND record_sequence=0;
注意:我正在创建索引记录ABC*500*0
作为b-tree密钥名称。
但是当我调用文档的所有记录时,例如:
SELECT * FROM Documents WHERE serial_no='ABC' AND order_no=500;
我无法使用索引搜索记录,因为此示例中缺少record_sequence。
因此,创建和搜索多列索引的方法是什么?
据我所知,我的b-tree对象不支持搜索“ABC * 500 * ANY”。我正在使用RaptorDB_v2.7.5 b树对象:
RaptorDB - 文档存储
NoSql,基于JSON,带有编译的.net映射函数的文档存储数据库以及自动混合位图索引和LINQ查询过滤器