

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

# STL\$1QUERY
<a name="r_STL_QUERY"></a>

데이터베이스 쿼리에 대한 실행 정보를 반환합니다.

**참고**  
STL\$1QUERY 및 STL\$1QUERYTEXT 뷰에는 기타 유틸리티나 DDL 명령이 아닌 쿼리 정보만 저장됩니다. Amazon Redshift에서 실행되는 모든 문에 대한 목록 및 정보는 STL\$1DDLTEXT 보기와 STL\$1UTILITYTEXT 보기에 대한 쿼리를 실행하여 확인할 수 있습니다. Amazon Redshift에서 실행되는 모든 문에 대한 전체 목록은 SVL\$1STATEMENTTEXT 보기에 대한 쿼리를 실행하여 확인할 수 있습니다.

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

이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 [SYS\$1QUERY\$1HISTORY](SYS_QUERY_HISTORY.md)에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.

쿼리 텍스트 길이가 4,000자를 초과하는 경우 STL\$1QUERY는 잘린 데이터만 표시합니다. 전체 쿼리 텍스트를 얻으려면 행 전체에 걸쳐 쿼리 텍스트에 UNION을 사용하면 됩니다.

**참고**  
실행된 쿼리가 포함된 트랜잭션이 성공적으로 커밋되었는지 확인하려면 시스템 테이블과 `sys_transaction_history` 테이블 간에 조인 작업을 수행해야 합니다. 예제:  

```
SELECT 
    stlq.xid AS transaction_id,
    stlq.query AS query_id,
    TRIM(stlq.querytxt) AS query_text,
    th.status AS transaction_status
FROM 
    stl_query stlq
LEFT JOIN 
    sys_transaction_history th ON stlq.xid = th.transaction_id;
```

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

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

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

다음은 가장 최근 쿼리 5개를 나열하는 쿼리입니다.

```
select query, trim(querytxt) as sqlquery
from stl_query
order by query desc limit 5;

query |                                   sqlquery
------+--------------------------------------------------
129 | select query, trim(querytxt) from stl_query order by query;
128 | select node from stv_disk_read_speeds;
127 | select system_status from stv_gui_status
126 | select * from systable_topology order by slice
125 | load global dict registry
(5 rows)
```

다음은 2013년 2월 15일에 실행한 쿼리의 경과 시간을 내림차순으로 반환하는 쿼리입니다.

```
select query, datediff(seconds, starttime, endtime),
trim(querytxt) as sqlquery
from stl_query
where starttime >= '2013-02-15 00:00' and endtime < '2013-02-16 00:00'
order by date_diff desc;

 query | date_diff |  sqlquery
-------+-----------+-------------------------------------------
 55    |       119 | padb_fetch_sample: select count(*) from category
121    |         9 | select * from svl_query_summary;
181    |         6 | select * from svl_query_summary where query in(179,178);
172    |         5 | select * from svl_query_summary where query=148;
...
(189 rows)
```

다음 쿼리는 쿼리에 대한 대기열 시간 및 실행 시간을 보여줍니다. 동시성 확장 클러스터에서 실행된 `concurrency_scaling_status = 1`의 쿼리입니다. 기본 클러스터에서 실행된 다른 모든 쿼리입니다.

```
SELECT w.service_class AS queue
     , q.concurrency_scaling_status
     , COUNT( * ) AS queries
     , SUM( q.aborted )  AS aborted
     , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs
     , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) )  AS exec_secs
FROM stl_query q
     JOIN stl_wlm_query w
          USING (userid,query)
WHERE q.userid > 1
  AND service_class > 5
  AND q.starttime > '2019-03-01 16:38:00'
  AND q.endtime   < '2019-03-01 17:40:00'
GROUP BY 1,2
ORDER BY 1,2;
```