기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인덱스 쿼리 및 스캔
Amazon DynamoDB의 Query
및 Scan
작업과 SQL의 SELECT 문을 사용한 인덱스 쿼리 및 스캔을 비교합니다.
SQL에서 인덱스 쿼리 및 스캔
관계형 데이터베이스에서는 직접 인덱스를 다루지 않습니다. 그 대신 SELECT
문을 실행하여 테이블을 쿼리하며, 쿼리 옵티마이저가 인덱스를 사용할 수 있습니다.
쿼리 옵티마이저는 사용 가능한 인덱스를 평가하고 그 인덱스로 쿼리 속도를 높일 수 있는지 파악하는 RDBMS(관계형 데이터베이스 관리 시스템)의 구성 요소입니다. 인덱스를 사용하여 쿼리 속도를 높일 수 있는 경우, RDBMS는 먼저 인덱스에 액세스한 다음 인덱스를 사용해 테이블에서 데이터를 찾습니다.
다음은 성능을 개선하는 GenreAndPriceIndex데 사용할 수 있는 몇 가지 SQL 문입니다. Music 테이블에 충분한 데이터가 있어서 쿼리 옵티마이저가 전체 테이블을 단순히 스캔하기보다는 이 인덱스를 사용하기로 결정한다고 가정합니다.
/* All of the rock songs */ SELECT * FROM Music WHERE Genre = 'Rock';
/* All of the cheap country songs */ SELECT Artist, SongTitle, Price FROM Music WHERE Genre = 'Country' AND Price < 0.50;
DynamoDB에서 인덱스 쿼리 및 스캔
DynamoDB에서는 테이블에서와 동일하게 인덱스에서 직접 Query
및 Scan
작업을 수행합니다. DynamoDB API 또는 PartiQL(SQL 호환 쿼리 언어)을 사용하여 인덱스를 쿼리하거나 스캔할 수 있습니다. TableName
과 IndexName
을 모두 지정해야 합니다.
다음은 GenreAndPriceIndexDynamoDB에서 사용하는 몇 가지 쿼리입니다. (이 인덱스의 키 스키마는 Genre와 Price로 구성됩니다.)