Search

5-3-6. Prepared Statements와 Generic Plan

-- [SQL-5-3-6-a]: 하루 데이터 조회, Index Scan EXPLAIN (COSTS OFF) SELECT t1.* FROM startdbpg.tr_ord_big t1 WHERE t1.ord_dtm >= '2024-01-01'::date AND t1.ord_dtm < '2024-01-02'::date;
SQL
복사
-- [SQL-5-3-6-b]: 6년 데이터 조회, Seq Scan EXPLAIN (COSTS OFF) SELECT t1.* FROM startdbpg.tr_ord_big t1 WHERE t1.ord_dtm >= '2019-01-01'::date AND t1.ord_dtm < '2025-01-01'::date;
SQL
복사
-- [SQL-5-3-6-c] -- (재실행 시) 기존 Prepared Statements 제거 -- DEALLOCATE prep_sql1; -- Prepared Statements 생성 PREPARE prep_sql1(text,text) AS SELECT t1.* FROM startdbpg.tr_ord_big t1 WHERE t1.ord_dtm >= $1::date AND t1.ord_dtm < $2::date;
SQL
복사
-- [SQL-5-3-6-d] -- Prepared Statements 실행(하루 데이터) EXPLAIN (ANALYZE,BUFFERS,COSTS OFF) EXECUTE prep_sql1('2024-01-01','2024-01-02');
SQL
복사
-- [SQL-5-3-6-e] -- Prepared Statements 실행(6년 데이터) EXPLAIN (ANALYZE,BUFFERS,COSTS OFF) EXECUTE prep_sql1('2019-01-01','2025-01-01');
SQL
복사
-- [SQL-5-3-6-f]: [SQL-5-3-6-e]를 연속해서 실행 -- Prepared Statements 실행(6년 데이터) EXPLAIN (ANALYZE,BUFFERS,COSTS OFF) EXECUTE prep_sql1('2019-01-01','2025-01-01');
SQL
복사