FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[1315] Re:firebird는 left join 시 index를 타지 않는가요?
tk [ssikek] 2112 읽음    2004-10-28 15:35
테이블 구조나,인텍스도 클러스터 넌클러스터 이것부터 보는것도 좋을뜻합니다.


일단 
회원코드만 넌클러스터 인텍스 만들경우
select M.회원코드, sum(S1.가격)
from 멤버T M left join 판매T S1 On (S1.회원코드 = M.회원코드)
and   S1.판매일자 between '20040601' and '20040630'
group by M.회원코드

날짜,회원번호  클러스터 인텍스 만들경우 ex CREATE ASCENDING INDEX  .... on (..... , .....)

select M.회원코드, sum(S1.가격)
from 멤버T M left join 판매T S1 On S1.판매일자 between '20040601' and '20040630'
and (S1.회원코드 = M.회원코드)   group by M.회원코드

보통 판매데이터특성상 제느낌에 하는 애기임니다.
간단하게 위처럼 형태만 버꺼두 속도차이는 좀 있을겁니다.




egnes 님이 쓰신 글 :
: left join을 두게 쓰는 쿼리를 만들었는데.. 실행시키니 무려 12분이나 걸리네요.^^;;
:
: 일단, 예제로 실행시킨 쿼리를 보면...
:
: - 요놈은 5초 ----------------------------------------------------------------------------
: Statement: select M.회원코드, sum(S1.가격)
: from 멤버T M left join 판매T S1 On (S1.회원코드 = M.회원코드)
: where
: S1.판매일자 between '20040601' and '20040630'
: group by M.회원코드
:
: PLAN SORT (JOIN (M NATURAL,S1 INDEX (SALE_IDX01)))
: -----------------------------------------------------------------------------
:
: - 요놈은 1초 ----------------------------------------------------------------------------
: Statement: select M.회원코드,
: (select sum(S1.가격) from 판매T S1 where M.회원코드=S1.회원코드 and 판매일자  between '20040601' and '20040630')
: from 멤버T M
: order by M.회원코드
:
: PLAN (M ORDER MEMBERS_IDX01)
: PLAN (S1 INDEX (SALE_IDX01,RDB$PRIMARY51))
: -----------------------------------------------------------------------------
:
: 이렇게 나오는데.. left join 하면 index를 원래 안타는 겁니까?
: 그리고.. 제가 생각하기에는 두번째 쿼리가, 필드에 서브쿼리를 썻기에 더 느릴거 같은데 아닌가요?

+ -

관련 글 리스트
1306 firebird는 left join 시 index를 타지 않는가요? egnes 1712 2004/10/26
1337     Re:firebird는 left join 시 index를 타지 않는가요? egnes 1621 2004/11/10
1315     Re:firebird는 left join 시 index를 타지 않는가요? tk 2112 2004/10/28
1318         Re:Re:firebird는 left join 시 index를 타지 않는가요? egnes 2013 2004/10/28
1314     Re:firebird는 left join 시 index를 타지 않는가요? 마쿠 1485 2004/10/28
1317         Re:Re:firebird는 left join 시 index를 타지 않는가요? egnes 2170 2004/10/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.