我有一个应用程序需要对数百万个较小的集合应用灵活的查询,每个集合的大小从10到10000个。 CQEngine在提供查询这些集合的灵活性方面工作得很好,但是比先前更严格的实现要慢得多,后者通过预先计算集合中某些项目属性的聚合来工作。该方法的问题在于它不够灵活,无法轻松处理新属性的添加。
我的问题是处理数以百万计的小型集合,我可以做些什么来调整CQEngine以使其更快。
任何想法都将不胜感激!
答案 0 :(得分:0)
显然这取决于您的查询,但是请查看您正在使用的索引。虽然你可以在时间戳的某些部分(年,月,然后是等等)进行复合,但是可导航的时间戳听起来没问题。
确定对象的不同属性的cardinality并按优先顺序排列索引 - 使用高级caridnal项的散列和较低基数属性的树。