Orientdb超慢查询性能

时间:2018-06-09 01:43:46

标签: orientdb

我已经尝试了很长时间,我正在努力应对 Orientdb社区版3.0.0RC2 性能。当前查询需要在 60-100秒之间运行,但我认为它应该花费几毫秒,因为只有27k记录要使用索引设置进行扫描。服务器(普通服务器配置)在我的个人计算机上设置,该计算机具有 8gb 的内存和 HDD

运行查询:select count(*) from ClassA where InitialInvestment = 2000

  • A类(26,844条记录):
  • InitialInvestment | DOUBLE
  • LeveragedEtfPercent | DOUBLE
  • MarketPercent | DOUBLE
  • OverallReturn | DOUBLE
  • PercentCash | DOUBLE
  • QuarterlyAdd | DOUBLE
  • StartDate |日期
  • 结果| EmbeddedList - >类DataRecord(每个结果列表有大约9-10k项)

索引(所有都已“重建”):

  • 关于InitialInvestment的非独立SBTREE
  • MarketPercent上的NotUnique SBTREE和LeveragedEtfPercent
  • MarketPercent,LeveragedEtfPercent和StartDate上的独特SBTree

Class DataRecord(奇怪的是,0个记录显示在Studio的Schema视图中,但嵌入式列表中的项目显示了一个“DataRecord”类 - 将询问此事 后来)。该类只有三个DOUBLE字段和一个Date字段。怀疑这个类正在影响查询,因为我不是要查询它。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  1. 当v3.0 GA出局超过1个月时,请不要使用候选版本。现在你可以得到v3.0.2 GA了。
  2. 你可以执行解释吗? explain select...以便您可以检查是否使用了任何索引。请通过更新您的问题发布结果。
  3. 通过嵌入9-10万个DataRecord对象,您的记录看起来太胖了。在主记录之外创建DataRecord对象并链接到它们要轻得多。