DB tuning dojo / stamp 01
같은 SQL. 다른 실행 계획.추측하지 말고 직접 재본다.
01
SQL 실행
02
인덱스 생성
03
동일 SQL 재측정
One vertical slice · fixed B-tree runner
예측을 잠근 뒤 planner의 선택을 방어한다
이번 slice는 key 컬럼 순서만 구조화해 실행합니다. amount_cents도 key이며 true INCLUDE payload가 아닙니다.
predictmeasuredefendcounter
Prediction receipt · primary
결과를 보기 전에 다섯 가지를 선택
Evidence boundary
B-tree key order
RUNNABLE
Hash equality only
NOT IMPLEMENTED
BRIN correlation
FIXTURE NEEDED
GIN membership
FIXTURE NEEDED
true INCLUDE
ROUTE PATCH NEEDED
partial implication
PREDICATE DSL NEEDED
primary 예측을 잠그고 실제 PostgreSQL run을 완료하면 causal defense가 열립니다.
측정 전
플랜도, 시간도 아직 모릅니다.
실행 버튼을 누르면 브라우저가 만든 숫자가 아니라 PostgreSQL의 EXPLAIN ANALYZE 결과가 이 자리를 채웁니다.
01
실행시간
동일 조건 반복 측정의 중앙값
02
플랜 트리
실제 연산자·행·버퍼
03
인덱스 대가
생성시간·저장공간
예측 대기
prediction receipt를 먼저 잠그세요
selectivity·access method·Sort·Heap Fetches를 선택하기 전에는 해설과 실행을 열지 않습니다.
결과가 예상과 달라도 실패가 아닙니다.
플래너가 선택한 이유를 읽는 것이 실험입니다.
플래너가 선택한 이유를 읽는 것이 실험입니다.
no synthetic latency · no hard-coded plan · no client-side simulation