커버링 인덱스 소개

커버링 인덱스란 무엇인가요?

관계형/SQL 세계에서는 인덱스를 현명하게 사용하여 쿼리 시간을 절약할 수 있습니다. 쿼리가 닿는 각 열에 인덱스가 있으면 DBMS가 테이블 자체를 들여다보지 않고도 결과를 반환할 수 있습니다.

여기에는 인덱스가 포함됩니다.

카우치베이스에서 커버링 인덱스란 무엇인가요?

Couchbase Server 4.1은 N1QL에 커버링 인덱스를 제공합니다. N1QL 쿼리에 필요한 모든 데이터를 포함하는 인덱스가 있는 경우, Couchbase Server는 해당 인덱스에서 바로 데이터를 반환할 수 있습니다. 이렇게 하면 쿼리 프로세스에서 적어도 하나 이상의 문서 읽기 횟수를 줄일 수 있습니다.

어떻게 작동하나요?

Couchbase에 N1QL 쿼리를 제출하면 다음 단계를 거치게 됩니다:

  1. 쿼리를 구문 분석하고 쿼리가 수행하는 작업을 분석한 다음 쿼리 계획을 생성합니다.
  2. 관련 인덱스를 확인합니다.
  3. 결과가 포함된 문서의 키를 가져온 다음 문서 자체를 가져옵니다.
  4. 해당 문서에서 관련 데이터를 가져와 결과를 생성합니다.
  5. 결과를 애플리케이션에 반환합니다.

커버링 인덱스를 사용하면 결과에 대한 모든 데이터가 인덱스 자체에 있으므로 3단계와 4단계를 생략할 수 있습니다.

커버링 인덱스는 어떻게 사용하나요?

쿼리 작성 방법에는 아무런 변화가 없습니다. 대신 인덱스를 설정하는 방법에 관한 것입니다. 단일 인덱스(GSI 또는 보기)는 쿼리가 닿는 모든 JSON 키를 포함해야 합니다.

예시가 있으신가요?

고객 프로필을 저장한다고 가정해 보겠습니다. 다음과 같이 보일 수 있습니다:

{

"이름": "셜록 홈즈",

"주소": "221b 베이커 스트리트",

"도시": "런던",

"국가": "영국",

"뉴스레터": true,

"joinedDate": 1168041600

}

뉴스레터를 구독하는 모든 사람의 이름과 도시를 찾고자 한다면 다음과 같이 N1QL 쿼리를 작성할 수 있습니다:

커버링 인덱스가 없으면 이 쿼리는 다음을 가져옵니다. 이름 그리고 도시 고객 기록에서 해당 문서를 조회하여 검색합니다.

이 쿼리에 대한 커버링 인덱스를 다음과 같이 만들 수 있습니다:

이제 쿼리는 전적으로 색인에서 충족될 수 있습니다.

자세한 내용은 어디에서 확인할 수 있나요?

거기에는 카우치베이스 서버 문서에서 인덱스를 다루는 방법에 대한 섹션을 참조하십시오..

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Matthew Revell, 수석 개발자 옹호자, EMEA 지역, Couchbase

매튜 레벨은 EMEA 카우치베이스의 수석 개발자 옹호자입니다. 그는 제품 개발자들의 마음속에 Couchbase를 각인시키기 위한 글로벌 전략을 개발했습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.