

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon QLDB에서 CREATE INDEX 명령
<a name="ql-reference.create-index"></a>

**중요**  
지원 종료 알림: 기존 고객은 07/31/2025에 지원이 종료될 때까지 Amazon QLDB를 사용할 수 있습니다. 자세한 내용은 [Amazon QLDB 원장을 Amazon Aurora PostgreSQL로 마이그레이션](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)을 참조하세요.

Amazon QLDB에서는 `CREATE INDEX` 명령을 사용하여 테이블의 문서 필드에 대한 인덱스를 생성합니다.

특정 테이블에서 이 PartiQL 명령을 실행하기 위한 액세스를 제어하는 방법을 알아보려면 [Amazon QLDB에서 표준 권한 모드로 시작하기](getting-started-standard-mode.md) 섹션을 참조하세요.

**중요**  
QLDB는 문서를 효율적으로 조회하기 위한 인덱스가 필요합니다. 인덱스가 없으면 QLDB는 문서를 읽을 때 전체 테이블 스캔을 수행해야 합니다. 이로 인해 동시성 충돌 및 트랜잭션 시간 초과를 포함하여 대규모 테이블에서 성능 문제가 발생할 수 있습니다.  
인덱싱된 필드 또는 문서 ID(예: `=` 또는 `IN`)에서 동등 *연산자*를 사용하여 `WHERE` 조건자 절이 포함된 문을 실행하는 것이 좋습니다. 자세한 내용은 [쿼리 성능 최적화](working.optimize.md)을 참조하세요.

인덱스를 생성할 때는 다음 제약 조건에 유의하세요.
+ 인덱스는 단일 최상위 필드에만 생성할 수 있습니다. 복합, 중첩, 고유 및 함수 기반 인덱스는 지원되지 않습니다.
+ `list` 및 `struct`를 비롯한 모든 [Ion 데이터 유형](ql-reference.data-types.md)에 대해 인덱스를 생성할 수 있습니다. 그러나 Ion 유형에 관계없이 전체 Ion 값이 같아야만 인덱스 조회를 수행할 수 있습니다. 예를 들어 `list` 형식을 인덱스로 사용하는 경우 목록 내에서 한 항목씩 인덱스 검색을 수행할 수 없습니다.
+ 동등 조건자(예: `WHERE indexedField = 123` 또는 `WHERE indexedField IN (456, 789)`)를 사용할 때만 쿼리 성능이 향상됩니다.

  QLDB는 쿼리 조건자의 부등을 인정하지 않습니다. 따라서 범위 필터링된 스캔은 구현되지 않습니다.
+ 인덱싱된 필드 이름은 대소문자를 구분하며 최대 128자입니다.
+ QLDB에서의 인덱스 생성은 비동기적으로 이루어집니다. 비어 있지 않은 테이블에서 인덱스 빌드를 완료하는 데 걸리는 시간은 테이블 크기에 따라 다릅니다. 자세한 내용은 [인덱스 관리](working.manage-indexes.md)을 참조하세요.

**Topics**
+ [구문](#ql-reference.create-index.syntax)
+ [파라미터](#ql-reference.create-index.parameters)
+ [반환 값](#ql-reference.create-index.return)
+ [예시](#ql-reference.create-index.examples)
+ [드라이버를 사용하여 프로그래밍 방식으로 실행](#ql-reference.create-index.driver)

## 구문
<a name="ql-reference.create-index.syntax"></a>

```
CREATE INDEX ON table_name (field)
```

## 파라미터
<a name="ql-reference.create-index.parameters"></a>

***table\$1name***  
인덱스를 생성하려는 테이블의 이름입니다. 이미 있는 테이블이어야 합니다.  
테이블 이름은 대/소문자를 구분합니다.

***필드***  
인덱스를 생성할 문서 필드 이름입니다. 필드는 최상위 속성이어야 합니다.  
인덱싱된 필드 이름은 대소문자를 구분하며 최대 128자입니다.  
`list`및 `struct`를 비롯한 모든 [Amazon Ion 데이터 유형](ql-reference.data-types.md)에 인덱스를 생성할 수 있습니다. 그러나 Ion 유형에 관계없이 전체 Ion 값이 같아야만 인덱스 조회를 수행할 수 있습니다. 예를 들어 `list` 형식을 인덱스로 사용하는 경우 목록 내에서 한 항목씩 인덱스 검색을 수행할 수 없습니다.

## 반환 값
<a name="ql-reference.create-index.return"></a>

`tableId` - 인덱스를 생성한 테이블의 고유 ID입니다.

## 예시
<a name="ql-reference.create-index.examples"></a>

```
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
```

```
CREATE INDEX ON Vehicle (VIN)
```

## 드라이버를 사용하여 프로그래밍 방식으로 실행
<a name="ql-reference.create-index.driver"></a>

QLDB 드라이버를 사용하여 이 명령문을 프로그래밍 방식으로 실행하는 방법을 알아보려면 *드라이버 시작하기*에서 다음 자습서를 참조하세요.
+ Java: [빠른 시작 자습서](driver-quickstart-java.md) \$1 [Cookbook 참조](driver-cookbook-java.md)
+ .NET: [빠른 시작 자습서](driver-quickstart-dotnet.md) \$1 [Cookbook 참조](driver-cookbook-dotnet.md)
+ Go: [빠른 시작 자습서](driver-quickstart-golang.md) \$1 [Cookbook 참조](driver-cookbook-golang.md)
+ Node.js: [빠른 시작 자습서](driver-quickstart-nodejs.md) \$1 [Cookbook 참조](driver-cookbook-nodejs.md)
+ Python: [빠른 시작 자습서](driver-quickstart-python.md) \$1 [Cookbook 참조](driver-cookbook-python.md)