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 41102 게시물 읽기
No. 41102
insert시 성능개선 문의입니다.
작성자
궁금해요
작성일
2016-03-18 09:54ⓒ
2016-03-18 10:04ⓜ
조회수
7,779

안녕하세요.

쿼리 속도때문에 문의를 드립니다.

쿼리 형태는 insert into A  select ..from ; 형태의 one-query insert 인데요.

해당 쿼리는 배치성으로 월 1~2회 정도 실행되며 회당 약 5만건의 데이타를 생성 하며,

insert 하는 테이블 A 에는 2개의 index가 잡혀있습니다.

이 테이블의 데이터가 삭제되는 경우는 없고, DB Reorg는 월 1회 실행되고 있습니다.

문제는 개발과 운영서버에서 해당 쿼리를 실행해보니

select 만 했을때는 둘다 약 1시간정도 시간이 소요되어 동일한 성능을 나타내는데

이를 insert 했을때는 개발에서는 1시간 30분정도로 비슷한 성능이 나타나지만,

운영에서는 3시간이 넘게 소요되어 성능이 확 떨어지는 문제가 있습니다.

1. 이런경우에 /*+ append +/ 힌트를 사용하면 insert 성능이 좀 개선이 될 수 있을까요?

2. 아니면 운영서버의 성능개선을 위해 더 검토해 보아야 할 게 있을까요?

3. 이렇게 차이가 날 수 있는 이유가 뭐가 있을까요?

참고로, 운영서버와 개발서버의 SGA 메모리 사이즈 등은 거의 동일하고, CPU는 당연하게도 운영서버가 더 좋은 성능을 가지고 있습니다.

해당 배치의 실행시간대는 운영과 개발 모두 다른 사용자가 없는 시간대에 실행하였습니다.

많은 의견 부탁드립니다.

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

 많은 가능성이 있겠죠.. 

개발과 운영이면 데이터가 틀리지 않나요?  

테이블  모드도 틀리수 있고..

일단 loggin 테이블이면 인서트시에 nologging 으로 테이블 변경하시면 훨씬 빨라질 겁니다.

수행하는 환경에서 서버 여유 있으시면 parallel 적당히 주시면 되구요 

Bill(baezzang)님이 2016-03-25 01:16에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41107listener.log 생성 되지 않게 하는 방법 문의 [1]
이성근
2016-03-24
8020
41106ibatis 태그치환 CDATA 관련 질문입니다
도와줍숑
2016-03-22
8230
41103CLOB 데이터를 타 업체 전달하는 방법은?
앙마승재
2016-03-18
7798
41102insert시 성능개선 문의입니다. [1]
궁금해요
2016-03-18
7779
41100쿼리 또는 DATA 구조 질문 드립니다. [1]
전규철
2016-03-16
7541
41099오라클 쿼리문 질문있습니다. (수정) [2]
오라클새내기
2016-03-15
7918
41098특정 문자열 검색후 특정 문자열 "값"추출 문의 [2]
정표
2016-03-15
7990
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다