2016-08-24 1 views
0

N1ql을 사용하기 시작했으며 Couchbase에서 N1ql 자습서를 수행했습니다.배열에 대한 N1ql 성능과 대체 알고리즘 비교

주어진 문서 (사용자라고 가정 해 봅시다)에 다른 문서의 ID가있는 배열 (순서라고 가정 해 봅시다)이 포함되어 있습니다.이 배열에서 나중에 조인을 수행 할 수 있습니다. 이 솔루션은 사용자가 수천 개의 참조를 가질 수있는 상황에 적합합니까?

그렇지 않은 경우 대체 방법은 무엇입니까? 모든 사용자와 주문 (일부 사용자는 주문하지 않을 수 있음)을 찾는 올바른 접근 방법은 무엇입니까?

답변

2

예. 다른 실사/크기 조정에주의하는 한 적절해야합니다. 평소처럼 데이터 모델 및 관련 쿼리를 함께 고려해야합니다. 예를 들어 쿼리가 특정 배열 요소를 기반으로하는 경우 배열 인덱스를 사용할 수 있습니다.

  1. 다른 문서 (역 정규화) 또는
  2. 역방향 참조를 포함, 수주 서류가 해당 사용자의 문서에 대한 참조를 가지고

    대안 (데이터 모델링을위한 여러 가지 요인에 의해) 될 수있다 . Couchbase 4.5 릴리스에서 N1QL은 사용자가 ORDER를 참조하는지 또는 을 참조하는지 여부와 상관없이 사용자가 JOINING하는 것을 돕는 조회 조인 & 색인 조인을 지원합니다. http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/from.html#story-h2-3

-Prasad