안녕하세요?
select 한 결과를 view 테이블로 만들어서 동시에 여러 sam 파일로 떨구는 방법 좀 알려주세요~
그리고 그 view를 drop을 해야 하나요?
아님 sessio이 끊기면 자동 삭제되나요?
고수님들 좀 도와주십시오.
감사합니다.
질문을 좀 구체적으로 해주시면..... create view xx_view as select * from aaa where ....... 를 bcp로 out 한후 drop view xx_view 하시면. 되지 않나요.. session이 끊날때 자동 drop 것은 #으로 시작되는 temp table입니다.. view는 permanent 니까 drop 해 줘야 합니다.
넵. create view xx_view as select * from where ... 한 후에 view 사이즈를 알아내고 그걸 n으로 나눠서 n개의 sam파일로 동시에 출력을 하라고 나와 있는 것 같습니다만, 정확히 어떻게 해야 하는지 예제 좀 올려주실 수 있나요? ------------------------------------------------------ 위 방법을 사용 하지 않더라도 select 한 결과를 동시에 여러 sam 파일로 떨구는 방법 좀 알려주세용. 감사합니다. 꾸벅~
iq 면 set option을 사용해서 해결해야하는데요. set temporary option temp_extract_name1="file1"; set temporary option temp_extract_name2-"file2"; .... set temporary option temp_extract_size1 =300; set temporary option temp_extract_size2 = 0; .... select * from ...... 8개까지 가능 는 하나의 테이블에대해 여러개의 file size로 나누어 받을때사용 view size는 (row 수? table 용량 ?) view라면 컬럼의 값으로 row number를 알수 있으면 총 row를 구한후 /n 으로 나누값을 where 조건으로 between 처리하면 가능 할것 같습니다. 위처럼 output file을 지정하고 select * from view_table where seq >=0 and seq < n ... ...
2개의 세션에서 사용한다고 가정 (I/O bottlenect이 버틸수 있는 범위로 세션을 만들 수 있음)
where 절에 '특정한컬럼'을 가지고 2개의 파일로 구분할 수 있는 컬럼을 찾으세요. 예를 들어 테이블 건수가 100만건 이라면 1번 세션에서 50만건, 2번 세션에서도 50만건 이렇게 select 할 수 있는 컬럼 혹은 컬럼 조합을 찾으세요. 이렇게 컬럼의 조합을 where절에 적절해 하면 10개의 세션에서 각각 10만건씩 SAM 파일로 추출할 수 있습니다.
1번 세션
set temporary option temp_extract_name1='/디렉토리/파일명1';
set temporary option temp_extract_column_delimiter='|';
그외 temp_extract로 시작하는 다른 옵션
select * from aaa
where 특정한컬럼 < '50만건 값';
set temporary option temp_extract_name1='';
2번 세션
set temporary option temp_extract_name1='/디렉토리/파일명2';
where 특정한컬럼 >= '50만건 값';
1번 세션과 2번 세션을 동시에 수행하면 한번에 100만건 추출되는 시간의 절반으로 각각에서 50만건씩 데이터가 추출됩니다