Orientdb GC开销限制超出/内存不足错误且性能降低

时间:2016-11-07 03:58:15

标签: mysql garbage-collection orientdb orientdb-2.1 orientdb2.2

我的orientdb数据库有大约230万条记录。我试图使用声明查询所有重复记录(大约有750,000个) SELECT FROM (select PROP1, PROP2, count(*) as c from vin_data group by PROP1 ) where c > 1。当我将限制设置为大约200时,查询需要大约180秒(我相信这很慢)。但是当我将限制设置为750000时,它会让我出现内存不足错误。我的RAM是4GB,我设置了Xms64m和Xmx3600m。我在PROP1和PROP1 + PROP2(复合)上设置了索引。我的问题是 - 对于一个230万的记录数据库,4GB内存是否足够?

1 个答案:

答案 0 :(得分:2)

对于上面的查询,两个索引都毫无价值,因为它们未在GROUP BY中使用。没有任何"其中"条件,扫描整个班级。您可以尝试通过在语句末尾添加PARALLEL关键字来优化它。如果你有多个核心,它应该更快。

无论如何,随着即将发布的v3.0版本(仍处于pre-alpha版本),新的SQL引擎已经付出了很多努力,像你这样的查询应该更快。