2014-11-10 2 views
-1

나는 Postgresql 9.1을 사용하고 있으며 테이블에는 36 컬럼과 거의 10 페이지가 있습니다. 50은 date time stamp으로 기록이 부족합니다.이 표에는 하나의 합성물이 있습니다. primary key (DEVICE ID TEXT AND DT_DATETIME timestamp without time zone) 쿼리 성능을 얻으려면 partition Fild를 기준으로 table day wise을 사용합니다. 이제 partition 이후에 나는 query 데이터 검색 시간이 unpartition 테이블보다 많음을 알았습니다. 나는 onconstraint_exclusion이라는 매개 변수를 config 파일에 가지고 있습니다.테이블 분할 선택 쿼리 성능이 느림

동일한 해결책을 찾으십시오.

자세히 설명해주세요. 45 일 GPS 데이터가 40GB 크기의 테이블에 있습니다. 매초 최소 27 개의 새로운 레코드 (하루 250 만 레코드)를 삽입합니다. 테이블 크기를 45 일로 유지하기 위해 매일 밤 45 일 데이터를 삭제합니다. 이제 잠금으로 인해이 테이블의 진공 상태에 문제가 발생합니다. 파티션 테이블이있는 경우 45 일 자식 테이블을 삭제하면됩니다. 분할을 통해 쿼리 성능을 높이고 잠금 문제를 해결하기를 원했습니다. 우리는 pg_repack을 시도했지만 시스템 부하율이 2 배로 증가하여 서버를 재부팅해야했습니다. 우리는 연중 무휴 시스템이므로 가동 중지 시간은 없습니다.

+0

파티션은 일반적으로 쿼리 성능을 증가하지 않습니다하려고하지만, 그것을 감소합니다. 파티셔닝은 데이터를 회전 및 반전시키는 것과 같은 다른 작업을 위해 만들어집니다. – usr

+0

나는 당신이 나에게 같은 링크를 보내 줄 수 없을 것이다. –

+0

정확히 이해하지 못했습니까? 파티셔닝은 쿼리를 가장 느리게 만듭니다. 이는 성능 기능이 아니므로 성능이 향상 될 것으로 기대하지 마십시오. – usr

답변

-1

연결 관리 및 메모리 관리를 위해 pg_bouncer을 사용하거나 서버에 RAM을 증가 ....

+0

-1 : OP의 질문과 어떤 관련성이 있습니까? – harmic