我正在考虑CQEngine我需要处理大量实时事件并不时执行某些查询的项目。它适用于返回结果,但我注意到集合越大,添加或删除元素的速度就越慢。
我在集合上添加了一些简单的索引,所以我假设延迟是因为在每个事件添加/删除时索引都会更新。我还从大量事件中得到一个OutOfMemoryError,从我认为的索引增加到索引。
所以我的问题是,对于快速变化的集合(通常在集合中添加和删除的元素),CQEngine中的索引惩罚是什么?
答案 0 :(得分:4)
如果您在索引的属性中有很多唯一值,那么您可能会从网站上讨论的IndexQuantization中受益。
这是一种调整内存使用和检索速度之间权衡的方法。但是,如果你有大量的唯一值,那么减少内存中索引的大小特别有用。
仅供参考,您也可以在CQEngine discussion forum中提问。
希望有所帮助!