2016-09-14 53 views
9

我有一個應用程序需要針對數百萬個較小的集合應用靈活的查詢,大小範圍從10到10000個集合。 CQEngine在提供查詢這些集合的靈活性方面表現出色,但比以前通過預先計算集合中集合中某些項目屬性的集合的更僵化的實現要慢得多。該方法存在的問題是它不夠靈活,無法輕鬆處理添加新屬性。針對小數據集的CQEngine優化

我的問題是處理數百萬個較小的集合有什麼我可以做的,以調整CQEngine使其更快。

  1. 我應該添加索引,或者如果集合超過某個大小,可能只添加索引。
  2. 我目前使用記錄時間戳和HashIndex上的其他屬性,如類別或標籤的導航。

任何想法將不勝感激!

回答

0

顯然這取決於你的查詢,但是看看你正在使用的索引。雖然您可以在時間戳的部分(年,月,日等..)上做一個複合,但是可以使用時間戳的可導航聲音

確定對象的不同屬性的cardinality,並按其優先級索引 - 使用散列用於較高的caridnal項目和用於較低基數屬性的樹。