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
운영게시판
최근게시물
PostgreSQL Q&A 8783 게시물 읽기
No. 8783
간단한 쿼리문좀 봐주세요
작성자
이기자(k3i2)
작성일
2011-02-25 15:49
조회수
7,660

질문을 너무 많이 올리는군요.. -0-;;;

1번.
SELECT a.*
FROM t_sugangsave_gita a
Where a.mid = 'scall' and
      ( a.deung_day between '2011-02-24' and '2011-02-24')
결과 185라인으로 시간은 빠르게는 150 늦게는 900m나옵니다.

2번
SELECT st.stu_n, a.*
FROM t_sugangsave_gita a Left Outer Join t_student st On st.mid=a.mid and st.stu_c=a.stu_c
Where a.mid = 'scall' and
      ( a.deung_day between '2011-02-24' and '2011-02-24')
결과 185라인 시간은 14263으로 많이 느려집니다.

t_student의 데이타수는 약 4만개 좀 넘습니다.

어떻게 손보면 빨라질까요..

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

일단 a.mid, a.deung_day에 인덱스를 걸어주시면 될거 같구요.

t_student의 데이타수는 4만개라고 하셨는데, t_sugangsave_gita의 데이터수가 얼마인지는 모르겠네요.

t_sugangsave_gita의 데이터가 t_student의 데이터수보다 많다면, outer join하는데 시간이 많이 소모 될 수 있습니다.

그럴경우에는 각각의 테이블에 

a.mid = 'scall' and ( a.deung_day between '2011-02-24' and '2011-02-24')

를 실행하여서 outer join할 대상의 개수를 줄인후에 join하시면 속도향상을 기대하실 수도 있습니다.

 

정원천(아리수)님이 2011-02-28 16:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8786복구 관련 질문드립니다. [1]
조성웅
2011-03-02
7616
8785복합형 타입을 insert 할때
부들
2011-03-01
7827
8784pgsql 9.0에선 DB시작/종료 메뉴가 없나요? (window버젼) [1]
pg매니아
2011-02-27
7840
8783간단한 쿼리문좀 봐주세요 [1]
이기자
2011-02-25
7660
8782ENCODING 이 다른 DB어떻게 옮겨야되나요 [2]
이기자
2011-02-24
8107
8780Linux에 pstgresql설치 완료. 그런데... [3]
이기자
2011-02-24
8811
8779Windows에서 사용하던 DB를 Linux로 가능한가요? [2]
이기자
2011-02-24
8282
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다