본문으로 건너뛰기
min_parallel_table_scan_size

min_parallel_table_scan_size

버전기본값context타입
148 megabytes ( 8MB )userinteger
158 megabytes ( 8MB )userinteger
168 megabytes ( 8MB )userinteger
178 megabytes ( 8MB )userinteger
188 megabytes ( 8MB )userinteger
198 megabytes ( 8MB )userinteger

parallel scan을 고려하기 위해 읽어야 하는 테이블 데이터의 최소량을 정한다. 단위 없이 값을 주면 block(BLCKSZ, 보통 8kB) 단위로 해석하며, 기본값은 8MB다.

parallel sequential scan에서는 읽는 테이블 데이터 양이 항상 테이블 전체 크기와 같지만, 인덱스를 경유하는 경우에는 실제로 읽는 테이블 데이터가 그보다 적은 것이 보통이다. planner는 이 추정량이 임계값을 넘는 경우에만 parallel scan을 후보로 삼는다.

작은 테이블은 parallel worker를 기동하고 결과를 모으는 고정 비용이 병렬화 이득을 상쇄하기 때문에, 이 문턱으로 걸러내는 것이다. 값을 낮추면 더 작은 테이블에도 parallel scan이 고려되지만, 그만큼 worker 기동 비용이 아깝지 않은지는 parallel_setup_cost와 함께 따져봐야 한다.

출처: PostgreSQL 18 문서