LMDB是否支持多个键到相同的值映射?

时间:2018-12-05 16:55:10

标签: leveldb lmdb

是否可以将多个键映射到相同的值?如果没有,该功能是否可以解决?

1 个答案:

答案 0 :(得分:1)

不可能。我使用的一种解决方法是让第二个键上的值成为指向主键的指针。也就是说,第二个键的值是主键。

尤其是,我创建了一个辅助键表(或lmdb中的“命名数据库”),其中所有都是主表中的主键。如果进一步研究其他数据库,这正是它们实现索引的方式。


例如

Data table:
    key: 72E13E60-85A6-4191-A187-F6FA5D3F0975
    value: {
       "surrogate-key": "72E13E60-85A6-4191-A187-F6FA5D3F0975",
       "name": "Foo Widget",
       "location": "Atlantis Mall",
       "last-value": 892
    }
Name table:
    key: "Foo Widget",
    value: "72E13E60-85A6-4191-A187-F6FA5D3F0975"
Location table:
    key: "Atlantis Mall",
    value: "72E13E60-85A6-4191-A187-F6FA5D3F0975"