【问题标题】:CQEngine Optimize for Small DataSetsCQEngine 针对小型数据集进行优化
【发布时间】:2016-09-14 14:34:41
【问题描述】:

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

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

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

任何想法将不胜感激!

【问题讨论】:

    标签: java cqengine


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 2011-08-01
      • 2010-09-06
      相关资源
      最近更新 更多