쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

PREPARE

포커스 모드
PREPARE - Amazon Redshift

실행을 위한 문을 준비합니다.

PREPARE는 준비된 문을 생성합니다. PREPARE 문이 실행될 때 지정된 문(SELECT, INSERT, UPDATE 또는 DELETE)이 구문 분석, 재작성 및 계획됩니다. 준비된 문에 대해 EXECUTE 명령이 실행될 때 Amazon Redshift는 (지정된 파라미터 값을 기반으로 성능을 개선하기 위해) 쿼리 실행 계획을 선택적으로 수정한 후 준비된 문을 실행할 수 있습니다.

구문

PREPARE plan_name [ (datatype [, ...] ) ] AS statement

파라미터

plan_name

이 특정한 준비된 문에 주어지는 임의의 이름입니다. 단일 세션 내에서 고유해야 하며 후속적으로 이전에 준비된 문을 실행하거나 할당 취소하는 데 사용됩니다.

DataType

준비된 문에 대한 파라미터의 데이터 형식입니다. 준비된 문 자체의 파라미터를 참조하려면 $1, $2 등을 사용하세요.

statement

임의의 SELECT, INSERT, UPDATE 또는 DELETE 문입니다.

사용 노트

준비된 문은 파라미터를 취할 수 있습니다. 파라미터는 준비된 문이 실행될 때 문으로 대체되어 입력되는 값입니다. 준비된 문에 파라미터를 포함하려면 PREPARE 문에 데이터 형식 목록을 제공하고, 준비되는 문 자체에서 $1, $2의 표기법을 사용하여 위치에 따라 파라미터를 참조합니다. 문을 실행할 때 EXECUTE 문에서 이런 파라미터의 실제 값을 지정합니다. 자세한 내용은 EXECUTE 섹션을 참조하세요.

준비된 문은 현재 세션이 진행되는 기간 동안만 지속됩니다. 세션이 종료되면 준비된 문이 삭제되므로 다시 사용하려면 준비된 문을 다시 만들어야 합니다. 이는 곧 다중 동시 데이터베이스 클라이언트가 단 하나의 준비된 문을 사용할 수는 없다는 의미이기도 하지만, 각 클라이언트는 사용할 준비된 문을 스스로 만들 수 있습니다. DEALLOCATE 명령을 사용하여 준비된 문을 수동으로 제거할 수 있습니다.

준비된 문은 단일 세션을 사용하여 많은 수의 유사한 문을 실행할 때 최대의 성능상 이점이 있습니다. 언급한 바와 같이, 준비된 문을 새로 실행할 때마다 Amazon Redshift는 지정된 파라미터 값을 기반으로 성능을 개선하도록 쿼리 실행 계획을 수정할 수 있습니다. Amazon Redshift가 특정 EXECUTE 문에 대해 선택한 쿼리 실행 계획을 검사하려면 EXPLAIN 명령을 사용합니다.

Amazon Redshift가 쿼리 최적화를 위해 수집하는 통계와 쿼리 계획에 대한 자세한 내용은 ANALYZE 명령을 참조하세요.

예시

임시 테이블을 생성하고 INSERT 문을 준비한 후 실행합니다.

DROP TABLE IF EXISTS prep1; CREATE TABLE prep1 (c1 int, c2 char(20)); PREPARE prep_insert_plan (int, char) AS insert into prep1 values ($1, $2); EXECUTE prep_insert_plan (1, 'one'); EXECUTE prep_insert_plan (2, 'two'); EXECUTE prep_insert_plan (3, 'three'); DEALLOCATE prep_insert_plan;

SELECT 문을 준비한 후 실행합니다.

PREPARE prep_select_plan (int) AS select * from prep1 where c1 = $1; EXECUTE prep_select_plan (2); EXECUTE prep_select_plan (3); DEALLOCATE prep_select_plan;

다음 사항도 참조하세요.

DEALLOCATE, EXECUTE

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.