1

예상 시간보다 오래 걸리는 쿼리를 작성했습니다.gremlin에서 계획 설명 Tinkerpop3 (DSE 그래프)

g.V().hasLabel('Person').has('name','Person1').out('BELONGS').in('HAS').dedup().as('x').in('HAS').filter(__.in('HAS').has('name','App1')).store('y').select('x').dedup().in('HAS').hasLabel('Org').repeat(out()).until(outE().hasLabel('IS')).store('a').cap('y').unfold().in('HAS').hasLabel('Class').repeat(inE('IS').dedup().otherV()).until(inE('HAS')).where(within('a')) 

이 쿼리를 느리게 만드는 설명 계획을 세울 수 있습니까? 떨어져 그렘린 통과를 따기 때

감사

하기 Varun Tahin는

답변

6

당신은 당신의 처리에 여러 가지 도구가 있습니다. explain() 단계 및/또는 profile() 단계를 사용할 수 있습니다. explain() 단계는 트래버스이 실행을 최적화하는 순회 전략에 의해 순회가 어떻게 구성되고 수정되는지를 보여줍니다. profile() 단계는 순회 실행 자체에 대한 통계를 제공합니다.

또한 Gremlin Console 자체를 "도구"라고도합니다. 디버깅 때로는 Gremlin이 작은 덩어리의 덩어리를 실행하는 과정을 거치므로 단계 목록의 특정 시점에서 무엇이 반환되는지 확인할 수 있습니다. Gremlin Console은 REPL이므로 코드 실행에 대한 즉각적인 피드백을 얻을 수 있으므로 IDE의 더 긴 개발주기를 빠져 나갈 수 있습니다.

+0

감사합니다. :) –

+0

@VarunTahin 답변을 수락 된 것으로 표시하는 것을 잊지 마십시오. – jbmusso