2017-01-04 4 views
1

레드 쉬프트에서 일부 쿼리를 벤치마킹하는 과정에서 인코딩 변경 및 진공 실행과 같이 테이블에 대한 변경 사항을 지능적으로 말할 수 있습니다. 나는 stl_query LIKE 절이있는 테이블을 쿼리하여 내가 관심있는 쿼리를 찾을 수 있기 때문에 쿼리 ID가 있지만 stv_query_summary과 같은 테이블/뷰는 너무 세분화되어 있으며 필요한 요약을 생성하는 방법을 잘 모르겠습니다. !쿼리를 사용하여 적색 쉬프트로 전체 쿼리 실행 시간을 얻는 방법은 무엇입니까?

gui 대시 보드에 관심있는 통계가 표시되지만 나중에 분석/비교를 위해 형식을 저장하기가 어렵습니다 (즉, 스크린 샷을 찍지 않으려합니다). sql select를 사용하여 해당 뷰를 다시 빌드하는 좋은 방법이 있습니까?

+0

AWS Admin/Redshift 섹션은 이와 같은 많은 정보를 GUI 형식으로 공유합니다. – kadalamittai

+0

오른쪽 - 추가 분석을 위해 이러한 결과를 다른 곳에 저장하려는 경우 GUI와 작업하지 않으려합니다. 나는 copypaste 및/또는 스크린 샷을 찍을 수 있지만 그것은 이상적이지 않습니다. –

+0

의미가 있습니다. aws login redshift 콘솔에 그려지는 거의 모든 데이터는 표 형식으로 사용할 수 있습니다. SVV, STL 등 당신이 그것을 사용할 수있는 열/행 데이터를 찾고 있다면. – kadalamittai

답변

1

다음은 밀리 초 단위로 실행 시간을 쿼리주고 밖으로 제거했다 스크립트 중 하나입니다 https://github.com/awslabs/amazon-redshift-utils

에서 일부 usefuls 도구/스크립트가 있습니다. 당신이 찾고있는 결과를 보여주고 등을 주문, 필터와 함께 플레이 : 나는 그 stl_query 테이블을 언급 할

select userid, label, stl_query.query, trim(database) as database, trim(querytxt) as qrytext, starttime, endtime, datediff(milliseconds, starttime,endtime)::numeric(12,2) as run_milliseconds, 
     aborted, decode(alrt.event,'Very selective query filter','Filter','Scanned a large number of deleted rows','Deleted','Nested Loop Join in the query plan','Nested Loop','Distributed a large number of rows across the network','Distributed','Broadcasted a large number of rows across the network','Broadcast','Missing query planner statistics','Stats',alrt.event) as event 
from stl_query 
left outer join (select query, trim(split_part(event,':',1)) as event from STL_ALERT_EVENT_LOG group by query, trim(split_part(event,':',1))) as alrt on alrt.query = stl_query.query 
where userid <> 1 
-- and (querytxt like 'SELECT%' or querytxt like 'select%') 
-- and database = '' 
order by starttime desc 
limit 100 
0

알렉스의 대답에 추가하는 방법에 대해 불편 함을 가지고있는 쿼리를 실행하기 전에 대기열에 있다면 큐 시간은 런타임에 포함되므로 런타임은 쿼리의 성능을 나타내는 매우 좋은 지표가되지 않습니다.

쿼리의 실제 런타임을 이해하려면 total_exec_time에 대해 stl_wlm_query를 확인하십시오.

select total_exec_time 
from stl_wlm_query 
where query='query_id'