多列b树索引逻辑?

时间:2015-08-21 07:38:07

标签: database b-tree database-indexes raptordb

我知道如何为单列索引实现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查询过滤器

0 个答案:

没有答案