테이블 스캔 비교
SQL에서 WHERE
절이 없는 SELECT
문은 테이블의 모든 행을 반환합니다. Amazon DynamoDB에서 Scan
작업도 동일한 작업을 수행합니다. 두 경우 모두 모든 항목 또는 일부 항목만 검색할 수 있습니다.
SQL 데이터베이스를 사용하건 NoSQL 데이터베이스를 사용하건 스캔은 시스템 리소스를 많이 사용할 수 있으므로 꼭 필요할 때만 사용해야 합니다. 스캔이 적절하거나(작은 테이블을 스캔할 때) 불가피한(데이터를 대량으로 내보낼 때) 경우도 있습니다. 하지만 일반적으로는 스캔 수행을 피할 수 있도록 애플리케이션을 설계해야 합니다. 자세한 내용은 DynamoDB에서 테이블 쿼리 단원을 참조하십시오.
참고
대량 내보내기를 수행하면 파티션당 하나 이상의 파일이 만들어집니다. 각 파일의 모든 항목은 해당 파티션의 해시된 키스페이스에서 가져온 것입니다.
SQL에서 테이블 스캔
SQL에서는 WHERE
절을 지정하지 않고 SELECT
문을 사용하여 테이블을 스캔하고 모든 데이터를 가져올 수 있습니다. 결과에 하나 이상의 열이 포함되도록 요청할 수 있습니다. 또는 와일드카드 문자(*)를 사용하는 경우 모든 열을 요청할 수 있습니다.
다음은 SELECT
문 사용의 예입니다.
/* Return all of the data in the table */ SELECT * FROM Music;
/* Return all of the values for Artist and Title */ SELECT Artist, Title FROM Music;
DynamoDB에서 테이블 스캔
Amazon DynamoDB에서는 DynamoDB API나 SQL PartiQL(호환 쿼리 언어)을 사용하여 테이블에서 스캔을 수행할 수 있습니다.