

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 쿼리가 너무 오래 걸림
<a name="queries-troubleshooting-query-takes-too-long"></a>

다음과 같은 이유로 쿼리가 너무 오래 걸릴 수 있습니다. 먼저 다음 문제 해결 접근 방식을 따르는 것이 좋습니다.

**테이블이 최적화되지 않음**  
테이블의 정렬 키, 분산 스타일 및 압축 인코딩을 설정하여 병렬 처리를 최대한 이용하세요. 자세한 내용은 [자동 테이블 최적화](t_Creating_tables.md) 섹션을 참조하세요.

**쿼리가 디스크에 쓰고 있음**  
쿼리는 쿼리 실행 중 일부분이라도 디스크에 작성할 수 있습니다. 자세한 내용은 [쿼리 성능 개선](query-performance-improvement-opportunities.md) 섹션을 참조하세요.

**다른 쿼리가 끝날 때까지 쿼리가 대기해야 함**  
이때는 쿼리 대기열을 생성한 후 유형에 따라 쿼리를 적합한 대기열에 할당하면 전반적인 시스템 성능을 개선할 수 있습니다. 자세한 내용은 [워크로드 관리](cm-c-implementing-workload-management.md) 섹션을 참조하세요.

**쿼리가 최적화되지 않음**  
실행 계획을 분석하여 쿼리를 재작성하거나 데이터베이스를 최적화하세요. 자세한 내용은 [쿼리 계획 생성 및 해석](c-the-query-plan.md) 섹션을 참조하세요.

**쿼리 실행에 더 많은 메모리 필요**  
특정 쿼리에 더 많은 메모리가 필요한 경우에는 [wlm\_query\_slot\_count](r_wlm_query_slot_count.md) 파라미터 값을 높여서 사용 가능한 메모리를 늘릴 수 있습니다.

**데이터베이스에서 VACUUM 명령 실행 필요**  
정렬 키 순서에 따라 데이터를 로드하지 않는 경우에는 다수의 행을 추가, 삭제 또는 수정할 때마다 VACUUM 명령을 실행하세요. VACUUM 명령은 데이터를 재구성하여 정렬 순서를 유지하는 동시에 성능을 복원합니다. 자세한 내용은 [테이블 Vacuum](t_Reclaiming_storage_space202.md) 섹션을 참조하세요.

## 장기 실행 쿼리 문제 해결을 위한 추가 리소스
<a name="queries-troubleshooting-cross-refs"></a>

다음은 쿼리 튜닝에 도움이 되는 시스템 뷰 주제 및 기타 설명서 섹션입니다.
+ [STV\_INFLIGHT](r_STV_INFLIGHT.md) 시스템 뷰는 클러스터에서 실행 중인 쿼리를 보여줍니다. 현재 실행 중이거나 최근에 완료된 쿼리를 확인하려면 [STV\_RECENTS](r_STV_RECENTS.md)와 함께 사용하면 유용할 수 있습니다.
+ [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md)는 문제 해결에 유용합니다. `running` 또는 `failed`와 같은 현재 상태, 각 쿼리가 실행되는 데 걸린 시간, 쿼리가 동시성 확장 클러스터에서 실행되었는지 여부와 같은 관련 속성과 함께 DDL 및 DML 쿼리를 표시합니다.
+ [STL\_QUERYTEXT](r_STL_QUERYTEXT.md)는 SQL 명령의 쿼리 텍스트를 수집합니다. 또한 STL\_QUERYTEXT를 STV\_INFLIGHT에 결합하는 [SVV\_QUERY\_INFLIGHT](r_SVV_QUERY_INFLIGHT.md)는 더 많은 쿼리 메타데이터를 표시합니다.
+ 트랜잭션 잠금 충돌은 쿼리 성능 문제의 원인이 될 수 있습니다. 현재 테이블에 잠금을 유지하고 있는 트랜잭션에 대한 자세한 내용은 [SVV\_TRANSACTIONS](r_SVV_TRANSACTIONS.md)를 참조하세요.
+ [조정에 가장 적합한 쿼리를 식별](https://docs.aws.amazon.com/redshift/latest/dg/diagnostic-queries-for-query-tuning.html#identify-queries-that-are-top-candidates-for-tuning)하면 최근에 실행한 쿼리 중 가장 많은 시간이 소요된 쿼리를 파악하는 데 도움이 되는 문제 해결 쿼리를 제공합니다. 이를 통해 개선이 필요한 쿼리에 노력을 집중할 수 있습니다.
+ 쿼리 관리를 더 자세히 살펴보고 쿼리 대기열을 관리하는 방법을 이해하려면 [워크로드 관리](cm-c-implementing-workload-management.md)에서 그 방법을 확인하세요.  워크로드 관리는 고급 기능이며 대부분의 경우 자동화된 워크로드 관리를 권장합니다.