2015-01-27 13 views

답변

3

나는 여러 측면에 달려 있다고 생각합니다. 수행하려는 작업, 쿼리가 실행되어야하는 시나리오 또는 유지 관리 가능성보다 성과를 선호하는 경우.

AQL은 전체 데이터 집합을 확장하고 복잡한 연산을 수행 할 수있는 단순하지 않은 단일 쿼리를 작성할 수있는 기능을 제공합니다. 큰 쿼리를 여러 개의 작은 쿼리에 해체하면 유지 관리 가능성과 코드 가독성이 향상 될 수 있지만 각 데이터에 대한 별도의 쿼리는 각 요청과 관련된 네트워크 대기 시간의 형태로 부정적인 성능 영향을 미칠 수 있습니다. 또한 시나리오의 다른 일괄 처리가 처리되는 동안 데이터베이스에서 반환 된 부분 결과로 작업 할 수 있는지 고려해야합니다.

+0

좋습니다. 그러나보다 자세한 솔루션을 얻으려고 실제 시나리오를 제공 할 것입니다. 각 노드에 대한 비즈니스 정보가 포함 된 두 개의 큰 컬렉션과 내 노드 사이의 관계를 유지하는 세 개의 그래프가 있습니다. 필터는 기본적으로 임시 필드 (datetime 값)를 고려합니다. 시간 경과에 따른 그래프로부터 각 노드의 상태를 가져오고 컬렉션의 정보도 같은 시간에 얻습니다. 나는 몇몇 서버를 가지고 있지만 그 중 하나는 단지 1Gb RAM을 가지고있다.이 쿼리는 11 초 만에 수행된다. 나는 이것이 너무 많은 시간이라고 생각한다. –

+0

@HelderSantana 특정 솔루션에 대한 더 긴 논의가 될 수 있으므로 마지막 코멘트에서 언급 한 설명이 포함 된 ArangoDB Google 그룹에이 시나리오를 게시 해보십시오. – yojimbo87