본문 바로가기
데이터베이스/PostgreSQL

[PostgreSQL] count 함수를 쓰지 않고, 테이블 건수 조회하는 방법

by ordinary_daisy 2025. 1. 3.

개요

다들 데이터 업무를 하다보면 대용량 테이블의 건수를 대략적으로 빠르게 알고 싶을 때가 생길텐데요,

이때 정확한 건수는 필요없고, 대략 이정도 건수라는 것만 알고 싶은 분들은 통계 정보를 활용하시면 됩니다.

 


통계 정보 활용

-- 통계정보 갱신
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(*) 함수 사용 시

 

- 통계 정보 조회 시


결론

: 정확한 건수 세는 것 아니면 미리 계산해놓은 통계 정보를 최대한 활용해, 효율적으로 작업하자.