2017-04-04 12 views
0

Neo4jクエリのスケーラビリティに問題があります。 私はこれらのクエリをデータベースに投入しようとしています:Neo4jでCREATEクエリのメモリが不足しています - 'dbms.memory.heap.max_size'例外を増やしてみてください

CREATE (Visitor1: Visitor {MAC:'00:0a:95:9d:68:16'}) 
CREATE (Visitor2: Visitor {MAC:'a7:e1:29:0f:7b:42'}) 
… 

CREATE (CheckPoint1: CheckPoint {CheckPointId: 1}) 
CREATE (CheckPoint2: CheckPoint {CheckPointId: 2}) 
… 

CREATE (Visitor1)-[:MAKES]->(Visit1: Visit {EnterTime: 1491061320000})-[:TO]->(CheckPoint1) 
CREATE (Visitor1)-[:MAKES]->(Visit2: Visit {EnterTime: 1491061860000})-[:TO]->(CheckPoint46) 
… 

これらのクエリは、私が書いたスクリプトによって生成されます。データベースは、10人の訪問者と100人の訪問者に対して正常に作成されます。しかし、私は1000人の訪問者(50個のチェックポイントは約6000の訪問)を作成しようとしているとき、データベースは、例外がスローされます。

There is not enough memory to perform the current task. Please try increasing ‘dbms.memory.heap.max_size’ in neo4j configuration. 

私はこの問題は私のクエリであると思います。任意のアイデアをどのように改善するのですか?

私はあなたの助けに非常に感謝します!

答えて

1

あなたがしたいのは、クエリでパラメータを使用することです。データの読み込み方法はわかりませんが、一般的な例は次のようになります。

MERGE (Visitor1: Visitor {MAC:params.mac}) 
MERGE (CheckPoint1: CheckPoint {CheckPointId: params.checkpoint}) 
CREATE (Visitor1)-[:MAKES]->(Visit2: Visit {EnterTime: params.enterTime})-[:TO]->(CheckPoint1) 

ありがとうございました、これは

+0

に役立ちます願っています!私は間違いなくこれを調べます! – zavanton

関連する問題