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 39150 게시물 읽기
No. 39150
마농님께 대놓고 물어보기!! 검색속도 관련입니다. 도와주세요!!
작성자
박용선
작성일
2011-12-06 16:21ⓒ
2011-12-06 16:45ⓜ
조회수
4,333

고수님들 도와주세요~

 

이메일 DB테이블에서 검색시 속도가 너무느려서 요렇게 질문드립니다.

 

EMAIL이라는 테이블에 당연히 PK(EMAIL_NO)가 존재를 합니다. PK가 존재하지만 Sequence가 고유하게

 

만들어 지는것이 아닙니다. 예를들어 15번 Tuple이 삭제된 후 그 다음에 들어오는 Tuple이 고유하게

 

16번이 생성되는것이 아니라 다시 15번이 됩니다. 그래서 PK가 있어도 검색시 PK로 검색을 못하는

 

이유중에 하나입니다. 그래서 PK컬럼 대신에 레코들을 구별할 수 있는 컬럼이 STR_EMAILDATE 라는

 

컬럼을 사용중입니다. 해당컬럼은 년,월,일,시,분,초까지 저장되는 컬럼이구요!!

 

해당 컬럼으로 30만건이 넘은 레코들을 검색을 합니다. 그래서 당연히 늦는거구요~~ 그래서 어제 위의

 

컬럼에 인덱스를 만들었는데 속도가 잘 나오더군요.  긍데 문제는 DB에 Transaction될때 엄청 느리다는

 

점입니다. 검색 속도를 높이자니 인덱스를 만들어야겠고, 또 DB에 넣자니 엄청 느리고~~ 이래두 저래두

 

같은상황입니다. 제발 좀 도와주십시오~~ 사용하는 DB구조는 아래와 같습니다.

 

EMAIL_NO        SYSEMAIL_NO      EMAIL_CLASS      STR_EMAILDATE

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

 662927                         1                    _r_Request          20111206143121

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

 

위의 구조처럼 되어있으며, 검색시 사용하는 컬럼들 입니다.

 

select 'Y'
  from maildb.email
where email_class like '_r_%'
  and sysemail_no = '1'
  and str_emaildate = '20111206143121';

 

위 쿼리를 사용하는데 30만건이 넘은 데이터중 해당 레코드를 찾으려니 오래걸리네요!!

부탁드리겠습니다.

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

겨우 인덱스 하나 만들었다고 해서 트렌젝션이 눈에 띨 정도로 느려지지 않습니다.

다른 이유가 있을 듯 합니다.

마농(manon94)님이 2011-12-07 08:58에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39153MS-Sql 만쓰다가 Oracle로 넘어왔습니다. 임시테이블, 메모리테이블 문제..
유정헌
2011-12-07
4717
39152쿼리문 장 사용방법에 대한 질문입니다... [1]
집게사장
2011-12-07
3795
39151디비링크된 테이블에 insert/update 는 원래 안되는거 아닌가요? [2]
김태연
2011-12-06
6625
39150마농님께 대놓고 물어보기!! 검색속도 관련입니다. 도와주세요!! [1]
박용선
2011-12-06
4333
39149where 절에 random함수 돌리면 too many value 가 나와요. [5]
최재철
2011-12-06
5531
39148sqlloader infile , INTO TABLE 항목 값을 변수로 받을수 있나요? [1]
일쌍다반사
2011-12-06
5335
39147바인드 변수가 많은 쿼리 실행계획 볼려면.. [2]
궁금이
2011-12-06
4883
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다