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 39707 게시물 읽기
No. 39707
group by 절 튜닝 질문 드립니다.
작성자
김형준(클리퍼)
작성일
2012-10-28 16:45
조회수
5,676

안녕하십니까

어제 속도가 느린 쿼리가 있어서 튜닝은 했습니다만,

정확한 원인을 몰라서 질문 드립니다.

 

오라클 11G EXA-DB 입니다.

 

select a,b,c,d,....... z,

           sum(aa), sum(bb), sum(cc) ..... sum(zz)

from (

          -- 6개의 테이블이 조인이 되면 결과레코드는 약 1백만건 입니다.

         ) a

group by a,b,c,d,....... z

 

위와 같은 쿼리가 있는데, 수행속도의 70%가 밖의 group by 절 때문입니다.

제가 궁금한 것은 위와 같이 백만건정도의 데이터를 group by 할 경우에 왜 속도가 늦는지 궁금합니다.

 

제가 해결하기는 6개의 테이블에서 1:1조인이 되는 테이블 4개를 group by 후에 JOIN 하는 방식으로

변경하니 속도는 엄청 개선이 되었습니다.

 

감사합니다.

 

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

간략하게 애기 하자면

a테이블 100만건  b-코드 테이블 1건

select

sum(컬럼)

form a,b

group by 컬럼

 

--> 100만건이 코드 가 다 같다고 했을겨우 코드 테이블과 100만번 조인해야함 그리고 나서 group by 실행

select

 ..

from ( select sum(컬럼) from a group by컬럼 ) b

'''

group by하고나서 b테이블과 한번만 조인하면 됨.

대략 이런 차이때문에 속도가 차이납니다.

이정재(ljjang)님이 2012-10-30 16:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39712오라클 문법이 궁금해요
최승환
2012-10-30
5096
39711시간대별 합..날짜 기준 변경 [1]
변경
2012-10-30
6041
39710컬럼 비교하여 맞으면 값 가져오기 [2]
김연태
2012-10-29
7566
39707group by 절 튜닝 질문 드립니다. [1]
김형준
2012-10-28
5676
39706ORA-01652 에러 해결 방법 없나요? [1]
박주영
2012-10-26
7863
39705MDB(외부 파일) 데이터 -> Oracle DB에 Insert 하는 방법 좀 알려주세요.
김현
2012-10-26
4802
39704기간 중복 방지에 대한 해결책을 문의 합니다.
김준기
2012-10-25
4549
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다