

 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/)을 참조하세요.

# SVCS\$1ALERT\$1EVENT\$1LOG
<a name="r_SVCS_ALERT_EVENT_LOG"></a>

쿼리 옵티마이저에서 성능 문제를 야기할 수 있는 조건이 식별되면 알림 메시지가 기록됩니다. 이 뷰는 STL\$1ALERT\$1EVENT\$1LOG 시스템 테이블에서 파생되지만 동시성 확장 클러스터에서 실행된 쿼리에 대한 조각 수준을 표시하지 않습니다. SVCS\$1ALERT\$1EVENT\$1LOG 테이블은 쿼리 성능을 높일 수 있는 방법을 찾는 데 사용됩니다.

하나의 쿼리는 여러 세그먼트로 구성되며, 각각의 세그먼트는 하나 이상의 단계로 구성됩니다. 자세한 내용은 [쿼리 처리](c-query-processing.md) 섹션을 참조하세요.

**참고**  
접두사 SVCS를 포함하는 시스템 뷰는 동시성 확장 클러스터와 기본 클러스터 모두의 쿼리에 대한 세부 정보를 제공합니다. 이 뷰는 접두사 STL을 포함하는 테이블과 유사합니다. 단, STL 테이블은 기본 클러스터에서 실행된 쿼리에 대한 정보만 제공합니다.

SVCS\$1ALERT\$1EVENT\$1LOG는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 [시스템 테이블 및 뷰에 있는 데이터의 가시성](cm_chap_system-tables.md#c_visibility-of-data) 섹션을 참조하세요.

## 테이블 열
<a name="r_SVCS_ALERT_EVENT_LOG-table-columns"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_SVCS_ALERT_EVENT_LOG.html)

## 사용 노트
<a name="r_SVCS_ALERT_EVENT_LOG-usage-notes"></a>

SVCS\$1ALERT\$1EVENT\$1LOG는 쿼리에서 잠재적 문제를 식별한 후 [쿼리 성능 튜닝](c-optimizing-query-performance.md)의 모범 사례에 따라 데이터베이스 설계를 최적화하여 쿼리를 재작성하는 데 사용할 수 있습니다. SVCS\$1ALERT\$1EVENT\$1LOG는 다음과 같은 알림을 기록합니다.
+ **통계 누락** 

  통계가 누락된 경우에는 데이터 로드 또는 중요한 업데이트에 이어 ANALYZE를 실행한 다음 COPY 작업에 STATUPDATE를 사용하세요. 자세한 내용은 [Amazon Redshift 쿼리 설계 모범 사례](c_designing-queries-best-practices.md) 섹션을 참조하세요.
+ **중첩 루프**

  중첩 루프는 일반적으로 데카르트 곱입니다. 이때는 쿼리를 평가하여 참여하는 테이블이 모두 효율적으로 조인되었는지 확인하세요.
+ **선택의 폭이 제한적인 필터**

  반환되는 행과 스캔되는 행의 비율은 0.05미만입니다. 스캔되는 행은 `rows_pre_user_filter `값이고, 반환되는 행은 [STL\$1SCAN](r_STL_SCAN.md) 시스템 테이블의 rows 값입니다. 이 알림은 쿼리가 결과 집합을 확인하기 위해 비정상적으로 많은 수의 행을 스캔하고 있다는 것을 의미합니다. 이러한 문제는 정렬 키가 누락되었거나 잘못되었을 때 발생할 수 있습니다. 자세한 내용은 [정렬 키](t_Sorting_data.md) 섹션을 참조하세요.
+ **지나치게 많은 고스트 행 **

  스캔 작업이 정리가 아닌 삭제된 것으로 표시되었거나, 혹은 커밋되지 않고 삽입된 비교적 다수의 행을 건너뛰었습니다. 자세한 내용은 [테이블 Vacuum](t_Reclaiming_storage_space202.md) 섹션을 참조하세요.
+ **다수의 행 분산 **

  100만 개가 넘는 행이 해시 조인 또는 집계를 위해 재분산되었습니다. 자세한 내용은 [쿼리 최적화를 위한 데이터 배포](t_Distributing_data.md) 섹션을 참조하세요.
+ **다수의 행 브로드캐스팅 **

  100만 개가 넘는 행이 해시 조인을 위해 브로드캐스팅되었습니다. 자세한 내용은 [쿼리 최적화를 위한 데이터 배포](t_Distributing_data.md) 섹션을 참조하세요.
+ **직렬 실행 **

   쿼리 계획에서 DS\$1DIST\$1ALL\$1INNER 재분산 스타일이 지정되면서 내부 테이블 전체가 단일 조각으로 재분산되었기 때문에 직렬 실행을 피할 수 없습니다. 자세한 내용은 [쿼리 최적화를 위한 데이터 배포](t_Distributing_data.md) 섹션을 참조하세요.

## 샘플 쿼리
<a name="r_SVCS_ALERT_EVENT_LOG-sample-queries"></a>

다음은 4개 쿼리의 알림 이벤트를 나타낸 쿼리입니다.

```
SELECT query, substring(event,0,25) as event, 
substring(solution,0,25) as solution, 
trim(event_time) as event_time from svcs_alert_event_log order by query;

 query |             event             |          solution            |     event_time      
-------+-------------------------------+------------------------------+---------------------
  6567 | Missing query planner statist | Run the ANALYZE command      | 2014-01-03 18:20:58
  7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31
  8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22
 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00

(4 rows)
```