【问题标题】:Boost Multi-Index Composite Key for Multiple-Column Indexes提升多列索引的多索引复合键
【发布时间】:2016-03-03 16:48:36
【问题描述】:

我有一些记录,模式是(id,length,width);

我想搜索“[10,20] 中的长度和 (20,30] 中的宽度";

如果我使用关系数据库,我可以在长度和宽度上创建多列索引。

我需要在记忆中完成这项工作。我看到 Boost Multi-Index 支持复合键;但我发现它似乎只支持equal_range搜索,比如“length == 20 and width ==20”。

使用 boost Multi-Index 支持查询,如 [10,20) 和 (20,30] 中的宽度?

看来multimap> 可以满足我的要求,但是编码有点复杂。

【问题讨论】:

    标签: c++ search boost boost-multi-index


    【解决方案1】:

    恐怕 Boost.MultiIndex 不适合这个;考虑到每个索引(带有或不带有复合键)都会在元素上产生 linear 顺序,而您需要在此处进行 2D 排列。我建议看看 Boost.Geometry 的R-trees

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      相关资源
      最近更新 更多