C++ Boost::multi_索引。更快的解决方案?

C++ Boost::multi_索引。更快的解决方案?,c++,map,boost-multi-index,C++,Map,Boost Multi Index,我昨天发布了一个问题,我使用multi_map解决了这个问题: 这很有吸引力,但当datasrt足够大时问题就会出现 我的数据集大约有10米大,有序索引需要+350秒,散列索引需要80秒才能插入。 与只需25秒的mappair双数据结构相比,这是一个相当长的时间 有人知道如何提高计算速度吗?内存消耗是可以的,但速度对我来说真的很重要 您是否考虑过使用实际的数据库,例如?当你想要为元素建立多个索引和1000多万个索引时,这通常就是你想要的东西 如果基于SQL的数据库不可用,则可以使用。重要的不是

我昨天发布了一个问题,我使用multi_map解决了这个问题:

这很有吸引力,但当datasrt足够大时问题就会出现

我的数据集大约有10米大,有序索引需要+350秒,散列索引需要80秒才能插入。 与只需25秒的mappair双数据结构相比,这是一个相当长的时间


有人知道如何提高计算速度吗?内存消耗是可以的,但速度对我来说真的很重要

您是否考虑过使用实际的数据库,例如?当你想要为元素建立多个索引和1000多万个索引时,这通常就是你想要的东西

如果基于SQL的数据库不可用,则可以使用。重要的不是特定的数据库;只是你在使用某种形式的数据库。

以插入时间的价格向多索引集装箱箱添加索引:粗略地说,如果你有四个索引,插入速度就像插入四个不同的单索引映射一样慢,事实上,正如你的图所示,插入速度更快,因为80<4*25。
在您的特定情况下,您可以去掉最后一个索引:只需使用复合键作为第一个索引,因为它将只支持lang1以及lang1、lang2查询。

否。不幸的是,我无法使用SQL。