我回到这个话题
我有一个
的数据库我执行此查询
SELECT
psq1.psq_nome AS nomePesquisador, COUNT(pub1) AS qtdPub
FROM
(MATCH
{class:Pesquisador, as:psq1}.outE("PUBLICOU").inV(){as:pub1}
RETURN psq1, pub1)
GROUP BY
psq1
ORDER BY
qtdPub DESC, nomePesquisador
LIMIT 1000;
OR
SELECT out.psq_nome AS nomePesquisador, COUNT(in.@rid) AS qtdPub
FROM Publicou
GROUP BY out.psq_nome
ORDER BY qtdPub DESC, nomePesquisador
LIMIT 1000;
然后存在内存堆错误
我如何配置OrientDb以允许我执行此操作?
答案 0 :(得分:1)
调整最重要的是确保内存设置正确。可以产生真正差异的是堆映射与内存映射使用的虚拟内存之间的正确平衡,特别是在大型数据集(GB,TB等)中,内存缓存结构的数量小于原始IO。
例如,如果您可以为Java进程分配最大8GB,则通常更好地分配小堆和大磁盘缓存缓冲区(堆外内存)。所以而不是:
java -Xmx8g ...
你可以试试这个:
java -Xmx800m -Dstorage.diskCache.bufferSize=7200 ...