PostgreSQL에서 대형 테이블 계산하기
1030 단어 postgrestodayilearned
만약
SELECT COUNT(id) FROM my_large_table
을 실행하려고 시도한다면, 데이터베이스는 모든 줄을 스캔하고 던져서 그것들을 계산해야 하기 때문에 많은 시간을 들일 것이다.$ heroku pg:ps
pid | state | source | running_for | transaction_start | waiting | query
------+--------+------------------+-----------------+-------------------------------+---------+--------------------------------------------------
6926 | active | psql interactive | 00:10:12.549096 | 2020-10-01 08:22:18.090989+00 | t | SELECT COUNT(id) FROM pageviews;
(1 row)
나는 10분을 기다렸다가 포기했다...더 빠른 방법은 디렉터리표
pg_catalog.pg_class
의 통계 정보를 보면서 근사치를 얻는 것이다.DATABASE=> SELECT reltuples::bigint FROM pg_catalog.pg_class WHERE relname = 'pageviews';
reltuples
-----------
136032896
(1 row)
조회가 완료되는 9분을 기다리는 것보다 1밀리초도 걸리지 않는다.그것은 그다지 정확하지는 않을 수도 있지만, 시계에 새로운 인덱스를 추가하거나 대형 조작을 수행할 것으로 예상되는 만큼 충분히 유용하다.
Reference
이 문제에 관하여(PostgreSQL에서 대형 테이블 계산하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andreligne/counting-large-tables-in-postgresql-2ae2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)