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 6199 게시물 읽기
No. 6199
PostgreSQL속도 높이기(select)
작성자
장송구
작성일
2005-07-01 22:22
조회수
3,313

일일 데이타 행이 한 300만통정도됩니다. 필드는 한 15개정도가 되는데, index는 5개정도 검색할때 필요한 필드를 잡아놓았습니다. 일일치 데이타를 특정문자로 검색하면 4,5분이 걸리는군요.

전체 필드 select와 검색을 최대한으로 빠르게하는 방법이 뭐가있을까요.

shared memory는 한 3000M로 잡았는데 그래도 오래걸리는군요.

쿼리는 잘못사용하면 index를 무시하고 검색한다는 말도있는데, 그런 이유도있게죠?

 

검색이 너무 느려서 걱정입니다. 최고의 속도를 내는 방법을 알고싶습니다.

psql은 8.0.3을 사용중입니다. O/S는 리눅스, 유닉스 계열이구요.

 

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

자료구조가 어떻게 되고, 어떻게 검색하는지에 대한 이야기를 하지 않고, 단지 윗 사실로 제가 드릴 수 있는 것은

 

"빵빵한 시스템을 하나 또는 병렬로 구입하시고, 전문 컨설턴트의 도움을 받아서, 오라클을 사용하시는 것이 문제를 가장 손 쉽고 빠르게 풀 수 있는 방법" 같습니다.

 

자료가 많은 것하고, shared memory 설정값하고는 별로 관계가 없습니다. 늘린다고 속도가 빨라지지는 않지요.

인덱스를 사용할 수 없는 상황이라면, 속도를 빠르게 하려면, 보다 빠른 CPU와 보다 빠른 하드디스크 억세스를 할 수 있는 시스템입니다.

 

김상기(ioseph)님이 2005-07-02 09:30에 작성한 댓글입니다.

음..질문하시는 분은 일반적인 성능향상을 말하는거 같군요.

쿼리 검색에서 어떻게 처리하는것이 다른 방법보다 빠른지,

예를들면 "%문자%" 이렇게 사용하면 인덱스를 피해가는데 "문자%" 이렇게 사용하면 인덱스를 사용한다든지,

데이타베이스의 특정값을 변환한다든지...등....

 

대용량 데이타베이스에서 자료가 많을경우 처리하는 질의 방식이나 설정사항을 알려주면되겠군요.

난잘 모르겠지만....히.

서지석님이 2005-07-02 11:55에 작성한 댓글입니다. Edit

아래 사이트를 보는것도 도움이되겠군요.

http://www.postgresql.or.kr/wiki.php/documents/PerfList

이진수님이 2005-07-02 11:57에 작성한 댓글입니다. Edit

위의 문서와 같이 일반적인 튜닝도 중요하지만 결코 몇십배 성능을 향상시킬 수는 없습니다. 정확한 DB 구조와 data 구성을 알고 또 어떤식으로 질의를 할지를 알아야 가장 효과적인 튜닝이 가능합니다.

전에 Oracle로 프로젝트를 진행한적이 있었는데 같이 일한 프리렌서 엔지니어가 프로젝트 내내 Oracle을 가지고 투덜대더군요. 불만의 요지는 MS SQL은 아무리 Data가 많아도 기본 설정만으로도 아주 빠르게 작동을 잘하는데 Oracle은 그렇지 않아서 튜닝을 반드시 해줘야 한다는 것이였습니다.

그래서 그 사람 코드를 봤더니 그야말로 엉망이였습니다.

MS SQL이 진짜 이렇게 엉망으로 짠 코드도 효과적으로 처리해주는 기가막힌 DBMS인지는 잘 모르겠습니다. 써보지 않아서요. 하지만 제가 프로그래밍을 한 것이 23년이 되가는데요. 아무리 비싼 미들웨어나 프로그래밍툴도 엉터리 코드를 아무 문제없게 작동시키는 경우는 없었습니다.

제 말은 서버 튜닝 보다는 DB 구조와 질의 계획에 맞는 인덱스를 생성하도록 노력하는 것이 우선되어야 하고 더 효과적이라는 것입니다.

박성철(gyumee)님이 2005-07-04 11:56에 작성한 댓글입니다.
이 댓글은 2005-07-04 11:57에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
6202VC++에서 bytea 필드에 파일 저장하려면?
이민우
2005-07-03
1788
6201윈도우즈에서 설치파일 설치시 [1]
엿장수
2005-07-02
1955
6200postgresql 설치파일을 [1]
엿장수
2005-07-02
1765
6199PostgreSQL속도 높이기(select) [4]
장송구
2005-07-01
3313
6198이런 종류의 SQL이 가능할까요? [2]
초보
2005-07-01
2020
6197급질문 !!!! 현재 접속해있는..디비명을 알수있는 함수.. [2]
한상호
2005-07-01
1603
6196trigger 내에서의 bool type
tyro
2005-07-01
1841
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다