개요
다들 데이터 업무를 하다보면 대용량 테이블의 건수를 대략적으로 빠르게 알고 싶을 때가 생길텐데요,
이때 정확한 건수는 필요없고, 대략 이정도 건수라는 것만 알고 싶은 분들은 통계 정보를 활용하시면 됩니다.
통계 정보 활용
-- 통계정보 갱신
ANALYZE table_name;
--통계정보로 미리 수집된 테이블 건수 조회
SELECT reltuples::BIGINT AS approximate_row_count
FROM pg_class
WHERE relname = 'table_name';
건수 조회 속도 테스트
1. 테이블 구조
- 단순한 date, code, value 테이블이여도 건수가 많아지면 단순 count 호출 속도가 느려집니다.
2. 건수별 조회 속도 비교
통계 정보 조회하는 것이 압도적으로 빠름
건수 | count 함수 사용 시 | 통계 정보 조회 시 |
약 1억건 | 4.733 s | 1 ms |
약 2억건 | 11.853 s | 2 ms |
약 4억건 | 18.803 s | 1 ms |
3. 건수 비교
약 1억건
- count(*) 함수 사용 시
- 통계 정보 조회 시
약 2억건
- count(*) 함수 사용 시
- 통계 정보 조회 시
약 4억건
- count(*) 함수 사용 시
- 통계 정보 조회 시
결론
: 정확한 건수 세는 것 아니면 미리 계산해놓은 통계 정보를 최대한 활용해, 효율적으로 작업하자.
'데이터베이스 > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] group by 결과를 받아볼 수 있는 함수 (0) | 2025.01.23 |
---|---|
[PostgreSQL] 통계 정보 수집 (ANALYZE, VACCUM) (0) | 2025.01.03 |
[PostgreSQL] 비정형 데이터를 PostgreSQL에 저장하고 정형 테이블로 변환하기 (1) | 2024.11.09 |
[PostgreSQL] 모든 테이블 read only User / role 권한 부여 (0) | 2024.08.16 |
[PostgreSQL]다른 db 조회할 수 있는 Extension - 'postgres_fdw' (0) | 2023.11.09 |