database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41747 게시물 읽기
No. 41747
수동으로 테이블별 통계분석 설정시....
작성자
나경민(sysopmin2)
작성일
2019-08-01 17:45ⓒ
2019-08-01 17:46ⓜ
조회수
2,086

 안녕하세요. 혹시 수동으로 각각의 테이블들을 통계분석 sql 이나 plsql 블럭으로 하시는 분 중에 어느게 더 속도나 효율적인지 여쭈어 봅니다.

셸로 만들어 크론에서 야밤에 통계분석 돌리고 있습니다.

 

1.  sql 문장으로 exec 이용

exec dbms_stats.gather_table_stats(ownname=>'ORAMAN1',tabname=>'A0945',cascade=>FALSE,estimate_percent=>5) ;

exec dbms_stats.gather_table_stats(ownname=>'ORAMAN1',tabname=>'C5015',cascade=>FALSE,estimate_percent=>5) ;

...

900여개 테이블

 

 

2. PLSQL

begin

  dbms_stats.gather_table_stats(ownname=>'ORAMAN1',tabname=>'A0945',cascade=>FALSE,estimate_percent=>5) ;

  dbms_stats.gather_table_stats(ownname=>'ORAMAN1',tabname=>'C5015',cascade=>FALSE,estimate_percent=>5) ;

  ...

  ..

  900여개 테이블

end ;

/

 

어느게 더 효율적인가요?

 

 

 

 

 

이 글에 대한 댓글이 총 1건 있습니다.

둘 다 사용하는 방법입니다. 

pl/sql 로 할 경우 세션을 오라클에서 kill 할 수 있지만, 

alter session kill 을 하는게 좀 껄끄러울 수 있습니다. 

v$session 에서 세션 킬 

게다가 오라클 job, 스케줄러 등록까지 해야하니까요 

---------------------

쉘에서 할 경우 쉘에서 모니터링 하기가 좀 쉽죠. 

단순한 작업에 있어  crontab 관리가 좀 수월하긴 하죠. 

 

갑자기 어떤 테이블에 대한 통계 작업을 빼야한다고 생각해보시고 

어떤게 관리가 쉬울지 선택하면 될 것 같습니다. 

 

 

lucky님이 2019-08-07 17:13에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41750조언을 구하고자 합니다.(이력관리)
기쁨이
2019-08-16
2141
41749하루 시간의 데이터 뽑기 [1]
게스트
2019-08-09
2433
41748날짜 구간별 분할에 대한 문의입니다. [1]
손미옥
2019-08-06
2303
41747수동으로 테이블별 통계분석 설정시.... [1]
나경민
2019-08-01
2086
41746LISTAGG 함수사용하여 중복제거방법 문의드립니다. [1]
딸기쥬스
2019-08-01
3019
41745다음행 연결고리 쿼리 어떻게 하면 되나요? [1]
궁금이
2019-07-29
2311
41744UNION 문의입니다. [2]
이현정
2019-07-25
2230
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.056초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다