2013-08-20 3 views
3

다음 예제를 참조하십시오 : 많은 기사와 훨씬 많은 기사 버전 (모든 편집 내역)이 포함 된 neo4j 기반 위키. 얼마나 차이의 각 노드neo4j cypher 단일 대 복수 라벨 성능

article:Article:Public 
article:Article:Version 

을 식별하기 위해 여러 레이블을 사용 않으며

article:ArticlePublic 
article:ArticleVersion 

것이다 다음 쿼리처럼 조직 된 DB와 비교하여 다음

MATCH article:Article:Public 

와 DB를 쿼리 두 그룹의 차단을하지 않고도 관련된 문서들

MATCH article:ArticlePublic 

성능에 대해 이야기하고 싶습니다.

답변

3

그래서 작은 DB를 채워서 레이블이 다른 그룹의 크기가 서로 다른 성능에 어떤 영향을 미칠 수 있는지 테스트했습니다. 결과적으로이 시나리오에서는 가장 작은 세트부터 최대 세트까지 지정할 수 있다는 점을 고려하면 성능에 큰 영향을 미치지 않으면 서 원하는 수의 레이블을 자유롭게 사용할 수 있습니다.

neo4j-sh (?)$ match n:Test return count(n); 
==> +----------+ 
==> | count(n) | 
==> +----------+ 
==> | 189222 | 
==> +----------+ 
==> 1 row 
==> 1571 ms 

neo4j-sh (?)$ match n:Test:One return count(n); 
==> +----------+ 
==> | count(n) | 
==> +----------+ 
==> | 170216 | 
==> +----------+ 
==> 1 row 
==> 1534 ms 

neo4j-sh (?)$ match n:Test:Two return count(n); 
==> +----------+ 
==> | count(n) | 
==> +----------+ 
==> | 19006 | 
==> +----------+ 
==> 1 row 
==> 526 ms 

neo4j-sh (?)$ match n:TestTwo return count(n); 
==> +----------+ 
==> | count(n) | 
==> +----------+ 
==> | 19082 | 
==> +----------+ 
==> 1 row 
==> 329 ms 

neo4j-sh (?)$ match n:Two:Test return count(n); 
==> +----------+ 
==> | count(n) | 
==> +----------+ 
==> | 19006 | 
==> +----------+ 
==> 1 row 
==> 306 ms 
0

많은 색인 색인을 피하면 더 나은 성능 (ArticlePublic)을 얻을 수 있지만 많은 색인을 사용하기 때문에 더 많은 공간이 필요하다고 말합니다.

색인 생성은 어떨까요? Article 색인의 Article.Version?