Cypher를 중심으로 매우 흥미로운 튜토리얼을 작성한 후 Cypher 쿼리 언어의 선언성에 놀라움을 금치 못했습니다. 그것은 내 생각에 Neo4J에서 데이터를 검색하는 아주 자연스러운 방법입니다.일반 Cypher 성능
그 전에는 원시 API 만 사용했습니다. 그리고 그것이 덜 선언적이긴하지만, 잠시 후에 일종의 익숙해집니다. 복잡한 구조는 모두 매우 유사하며 특정 프로젝트의 세부 사항 만 다릅니다.
여전히 Cypher는 자연스러워 보였으므로 Cypher 쿼리를 사용하여 내 데이터베이스와 상호 작용하는 응용 프로그램의 두 번째 버전을 작성하려고합니다. 하지만 문제가 발생했습니다.
내 응용 프로그램을 Cypher로 변환 할 수있는 여러 가지 방법이 있으며 여러 가지 가능한 쿼리를 모두 시도한 후에 원하는 결과를 얻을 수 있습니다. 가장 빠른 쿼리조차도 기본 API보다 약 20 배 느립니다.
이제 declarativeness에 대한 성능을 포기하는 데 신경 쓰지 않지만 성능에 이미 어려움을 겪고있는 응용 프로그램에서 20 번은 나에게 많은 도움이됩니다. 이 문제의 해결 방법이 있습니까? 아니면 기본 API 만 사용해야합니까?
일부 검색어를 공유해 주시겠습니까? 그리고 아마 당신의 데이터 세트? 그것을 보는 것을 좋아할 것입니다, 그것은 그렇게 느리지 않아야합니다. 어떤 Neo4j 버전을 사용하고 있습니까? –
데이터 집합은 사용자가 업로드 한 파일에 따라 달라집니다. 나는 1.9.M05 atm을 사용하고 있지만, 나는 또한 최신 안정 버전으로 시도했다. 오늘 밤에 일부 질문을 올리 겠지만, 문제는 사이퍼에서 충분히 구체적 일 수 없다는 것입니다. 핵심 API를 사용하여 모든 단계를 신중하게 제어 할 수 있으며 데이터베이스 구조에 대한 지식을 갖추고 있으므로 Cypher에서해야 할 쓸모없는 관계를 거치지 않아도됩니다. –