java - 对于快速变化的集合,CQEngine 中的索引惩罚是什么?

标签 java performance indexing cqengine

我正在考虑 CQEngine对于一个我需要处理大量实时事件并不时执行一些查询的项目。它很适合返回结果,但我注意到集合越大,向其中添加元素或从中删除元素的速度就越慢。

我在集合中添加了一些简单的索引,所以我假设延迟是因为在添加/删除每个事件时索引都会更新。我还收到大量事件的 OutOfMemoryError,索引随着我认为的集合而增加。

所以我的问题是,对于快速变化的集合(经常在集合中添加和删除的元素),CQEngine 中的索引惩罚是什么?

最佳答案

如果您在索引的属性中有很多唯一值,您可能会受益于 IndexQuantization在网站上讨论。

这是一种调整内存使用和检索速度之间权衡的方法。但是,如果您有大量唯一值,则减少内存中索引的大小特别有用。

仅供引用,您也可以在 CQEngine 中提问 discussion forum .

希望对您有所帮助!

关于java - 对于快速变化的集合,CQEngine 中的索引惩罚是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119394/

相关文章:

java - org.mortbay.http 包不存在。如何在 pom.xml 中为此添加依赖项

javascript - Gulp 连续生成图像

log_bin打开时mysql 5.6.21更新语句非常慢

Mysql - "Select like"未使用索引

indexing - 遍历扁平化2D Vec列的更有效方法

java - 静态变量的内存范围

java - 使用 Java 自动化 Web 操作

indexing - 如何从 elasticsearch 中检索旧版本文档?

java - 如何在运行时根据后端参数获取枚举文件名?

python - 用距点的距离填充numpy数组的最快方法