[]
        
(Showing Draft Content)

테이블 인덱스

목적

테이블 인덱스는 레코드 조회 작업의 속도를 향상시키는 필드 기반 구조입니다.

인덱스가 없으면 테이블은 검색을 수행할 때 모든 레코드를 검사해야 합니다. 대규모 데이터 집합에서는 이로 인해 성능에 영향을 받을 수 있습니다. 특정 필드에 인덱스를 생성하면 테이블은 일치하는 레코드를 더욱 효율적으로 찾을 수 있습니다.

인덱스는 특히 다음과 같은 경우에 유용합니다.

  • 특정 필드가 자주 검색되는 경우

  • 테이블에 많은 수의 레코드가 포함된 경우

  • 테이블 시트와 같은 대화형 컴포넌트에서 빠른 조회가 필요한 경우

인덱스는 조회 성능을 향상시키지만 추가적인 유지 관리 비용이 발생합니다. 삽입, 수정 및 삭제 작업 시 인덱싱된 필드를 함께 갱신해야 하므로 약간의 오버헤드가 발생할 수 있습니다.

자주 조회되는 필드에 대해서만 선택적으로 인덱스를 사용하는 것이 좋습니다.

단일 열 인덱스

데이터 매니저는 단일 열 인덱스를 지원합니다.

다음과 같이 호출하면:

table.createIndexes(["CompanyName", "City"]);

테이블은 다음 필드에 대해 독립적인 인덱스를 생성합니다.

  • CompanyName

  • City

각 필드는 개별적으로 인덱싱됩니다.

인덱스 생성

인덱스는 명시적으로 생성해야 합니다.

table.createIndexes(["CompanyName", "City"]);

인덱스는 자동으로 생성되지 않습니다.

필드에 인덱스가 없으면 검색 작업은 선형 탐색 방식으로 수행됩니다.

인덱스 유지

인덱스는 다음 이후에도 유지됩니다.

  • fetch()

  • 테이블 데이터 다시 로드

인덱스는 다음과 같은 경우에만 제거됩니다.

table.dropIndexes(["City"]);

또는

table.clearIndexes();

이를 통해 한 번 인덱스를 정의한 후 데이터가 다시 로드되더라도 계속 재사용할 수 있습니다.

인덱스 관리

특정 인덱스 제거

table.dropIndexes(["City"]);

지정된 필드의 인덱스를 제거합니다.

모든 인덱스 제거

table.clearIndexes();

모든 인덱싱된 필드를 제거합니다.

인덱싱된 필드 확인

table.getIndexes();

현재 인덱싱된 필드 이름의 배열을 반환합니다.

인덱스가 없는 경우:

[]