java - CQEngine 优化小型数据集

标签 java cqengine

我有一个应用程序需要对数百万个较小的集合应用灵活的查询,每个集合的大小从 10 到 10000 个项目不等。 CQEngine 在提供查询这些集合的灵 active 方面做得很好,但比以前更严格的实现要慢得多,后者通过对集合中项目的某些属性进行预计算聚合来工作。该方法的问题在于它不够灵活,无法轻松处理新属性的添加。

我的问题是要处理数百万个较小的集合,我可以做些什么来调整 CQEngine 以使其更快。

  1. 我应该添加索引,还是只在集合超过一定大小时才添加索引。
  2. 我目前在记录时间戳上使用 Navigable,在类别或标签等其他属性上使用 HashIndex。

任何想法将不胜感激!

最佳答案

显然这取决于您的查询,但是是的,请查看您正在使用的索引。 Navigable 对于时间戳来说听起来不错,尽管你可以在时间戳的部分上做一个复合(年然后月然后日..等等)

确定cardinality对象的不同属性,并据此确定索引的优先级——对高基数项使用哈希,对较低基数属性使用树。

关于java - CQEngine 优化小型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39493160/

相关文章:

java - Tomcat 8 |如何为连接器使用自定义 key 管理器

java - 如何调用服务类中的 Activity 方法?

java - cqengine:maven 对 sqllite 的依赖是否必要?

java - Oracle 不同与 java (cqengine/set) : whose leads to better performances?

java - 如何更改小程序的标题?

java - 关于 Linux 上的 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

java - 用Java猜数字程序

java - 第三方库中的通用方法限制规避

java - cqengine 连接两个以上集合