PostgreSQL 관련 포스팅

http://nonun.tistory.com/entry/PostgreSQL-%EC%98%88%EC%B0%AC%EB%A1%A0


pgsql은 테이블들의 데이터 통계를 가지고 있다. 주기적으로 변화를 감지해서 갱신한다. 이 통계는 놀랍게 똘똘한 쿼리 플랜을 만드는데 사용된다. pgsql은 인덱스를 사용할 지, 사용한다면 어떤놈을 사용할 지, 조인은 어떤 방식을 사용할 지 이 통계들을 바탕으로 정확한 쿼리 플랜을 만들어 낸다.
실제로 pgsql을 쓰다 보면 인덱스를 타지 않는 경우가 있다. 이런 경우 강제로 인덱스를 타게 해보면 실제로 느리다. 조인 방식도 마찬가지다. pgsql이 merge join을 추천하면 강제로 nested loop 해봤자 느린 경우가 다반사다.
pgsql은 내가 아는 한 가장 똑똑한 옵티마이저를 가졌다. oracle 10g를 썼을 때 pgsql 만큼 똑똑하구나 싶었고 oracle 9i는 바보다 -_-; mysql은 oracle 9i보다도 바보다.

라이프팟에서 실제로 사용하는 쿼리의 쿼리 플랜이다. explain만 붙이면 보기 편하고 예측 cost, 실제 cost를 보여준다.

by 낭망백수 | 2007/10/19 10:25 | links | 트랙백 | 덧글(1)

트랙백 주소 : http://mulriver.egloos.com/tb/3866054
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 낭망백수 at 2007/11/09 15:02

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶