Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Back tracking
- 구현
- Priority Queue
- aws
- django
- 시뮬레이션
- Bruth Force
- gpdb
- SQL
- 코딩테스트
- Algorithm
- GitHub
- 모의SW역량테스트
- 코테
- CSV
- hash table
- boj
- Linked list
- BFS
- 알고리즘
- SWEA
- JavaScript
- Vue.js
- DFS
- spring boot
- Python
- Data Structure
- 알고리듬
- programmers
- Trie
Archives
- Today
- Total
hotamul의 개발 이야기
[GPDB] Query Profiling (Visualization) 본문
Database 실행 계획을 가독성 있는 그래프로 보는 방법은 아래 링크를 이용하면 됩니다!
Postgres Explain visualizer
Example
-- 파티셔닝이 되어 있는 테이블
EXPLAIN (ANALYZE, FORMAT JSON)
SELECT o_orderpriority,
count(*) as order_count
FROM orders
WHERE o_orderdate >= date '1994-05-01'
AND o_orderdate < date '1994-05-01' + interval '3 month'
AND exists (
SELECT *
FROM lineitem
WHERE l_orderkey = o_orderkey
AND l_commitdate < l_receiptdate
)
GROUP BY o_orderpriority
ORDER BY o_orderpriority;
-- 파티셔닝이 되어있지 않은 테이블
EXPLAIN (ANALYZE, FORMAT JSON)
SELECT o_orderpriority,
count(*) as order_count
FROM orders_nopart
WHERE o_orderdate >= date '1994-05-01'
AND o_orderdate < date '1994-05-01' + interval '3 month'
AND exists (
SELECT *
FROM lineitem
WHERE l_orderkey = o_orderkey
AND l_commitdate < l_receiptdate
)
GROUP BY o_orderpriority
ORDER BY o_orderpriority;
JSON
으로 출력된 실행 계획과 SQL를 복사해 Postgres Explain visualizer에 붙여 넣고 submit 버튼을 누르면 graph 형태로 실행 계획을 확인할 수 있습니다!
두 쿼리 플랜을 비교하면 아래와 같이 확인할 수 있습니다!! 👍

'Dev. > Greenplum DB' 카테고리의 다른 글
[GPDB] External 테이블을 이용해 하루 전 Log 보기 (0) | 2022.12.16 |
---|---|
[GPDB] 마지막 Vacuum, analyze 작업 시간 확인 (0) | 2022.12.16 |
[GPDB] delete 할 때 deleted rows 데이터 확인하기 (0) | 2022.12.15 |
[GPDB] Exteranl Table/COPY error 확인 방법 (0) | 2022.12.15 |
[GPDB] check distributed key about all tables (0) | 2022.12.14 |