2014-07-15 3 views
1

의 내부 트랙 진행 그래서 onlineSAS : 발동 SQL 문

data _null_; 
set sashelp.class; 
if mod(_n_,5)=0 then 
    rc = dosubl(cats('SYSECHO "OBS N=',_n_,'";')); 
s = sleep(1); /* contrived delay - 1 second on Windows */ 
run; 

나는 당신이 PROC SQL 문이 조각을 적용하는 방법에 대한 어떤 생각을 가지고 있는지 알고 싶습니다,이 코드 조각을 발견 우리가

rc = dosubl(cats('SYSECHO "OBS N=',_n_,'";')); 
을 포함 할 것이다 위에 나는 문에
proc sql; 
create table test as 
select * from work.mytable 
where mycolumn="thisvalue"; 
quit; 

어딘가에 예를

를 들어 ... 을 긴 쿼리의 진행 상황을 추적 할 수

답변

0

유감스럽게도 (SAS 데이터 세트에서 작동하는 경우) 테이블의 실제 크기를 모니터링하는 것 외에는 SQL 쿼리 진행 상황을 직접 확인할 수 없습니다 (작업 디렉토리 목록을 만들 수 있습니다 디렉토리 또는 테이블 작성 방법에 따라 유틸리티 디렉토리). 그러나 선형 일 수도 있고 그렇지 않을 수도 있습니다. 예를 들어, SQL은 해시 전략을 사용하여 완료 될 때까지 디스크 공간을 차지하지 않을 수도 있습니다.

SQL의 경우 쿼리 계획을보고 무엇이 오래 걸릴지 말해야합니다. 거기에는 여러 가지 가이드가 있습니다 (예 : The SQL Optimizer Project). _METHOD_TREE 옵션을 설명합니다.