我正在考虑一个项目的CQEngine,在这个项目中,我需要处理大量的实时事件并不时地执行一些查询。它可以很好地返回结果,但我注意到集合越大,向它添加或删除元素的速度就越慢。
我在集合中添加了一些简单的索引,所以我假设延迟是因为在每个添加/删除的事件上都会更新索引。我还从索引中获得了一个关于大量事件的OutOfMemoryError,随着我想的集合的增加。
因此,我的问题是,对于快速变化的集合(元素经常从集合中添加和删除),CQEngine中的索引代价是什么?
发布于 2014-04-17 17:15:45
如果您索引的属性中有很多唯一值,那么您可能会从站点上讨论的IndexQuantization中受益。
这是一种在内存使用和检索速度之间进行权衡的方法。但是,如果您有大量的唯一值,那么减少内存中索引的大小尤其有用。
你也可以在CQEngine 讨论论坛上问问题。
希望这能帮上忙!
https://stackoverflow.com/questions/23119394
复制相似问题