728x90

SQL 16

PostgreSQL vs Oracle: 실행 계획 캐싱 전략과 통계 수집의 민감도 비교 분석

※ PostgreSQL vs Oracle: A Comparative Analysis of Execution Plan Caching Strategies and Sensitivity to Statistics Collection. 안녕하세요. 듀스트림입니다. Oracle에서 PostgreSQL로 전환하는 프로젝트 시 자주 나오는 질문들이 있습니다. 오늘 포스팅은 그 중 하나인 실행 계획 캐싱에 대한 내용을 주제로 다뤄봤습니다.특히, OLTP 시스템에서 데이터베이스 성능은 실행 계획의 적절성에 크게 의존합니다.실행 계획이 캐시되고 재사용되는 방식과 통계 수집 작업이 계획 무효화에 미치는 영향은 성능 최적화 및 예측 가능성 확보에 있어 핵심적인 이슈입니다. 이 글은 PostgreSQL과 Oracle의 실행 계획 ..

PostgreSQL 2025.05.12

PostgreSQL: EXPLAIN을 활용한 선택도 추정 정확도 분석

※ PostgreSQL: Analysis of Selectivity Estimation Accuracy Using EXPLAIN.※ Version: PostgreSQL 17. 안녕하세요. 듀스트림입니다. 계속해서 이전 포스팅과 이어지는 내용입니다. PostgreSQL: 선택도 기반 실행 계획 수립 원리※ PostgreSQL: The Principle of Execution Plan Generation Based on Selectivity.※ Version: PostgreSQL 17. 안녕하세요. 듀스트림입니다. 오늘 포스팅은 이전 포스팅과 이어지는 내용입니다. PostgreSQL: 동등 조건과 범위dewstream.tistory.comPostgreSQL 옵티마이저는 실행 계획 수립 시 조건절의 선택도(S..

PostgreSQL 2025.05.11

PostgreSQL: 선택도 기반 실행 계획 수립 원리

※ PostgreSQL: The Principle of Execution Plan Generation Based on Selectivity.※ Version: PostgreSQL 17. 안녕하세요. 듀스트림입니다. 오늘 포스팅은 이전 포스팅과 이어지는 내용입니다. PostgreSQL: 동등 조건과 범위 조건의 선택도 추정 방식 분석※ PostgreSQL: An In-Depth Analysis of Selectivity Estimation for Equality and Range Conditions. 안녕하세요. 듀스트림입니다. 오늘 포스팅은 조금 심도 있는 내용입니다. PostgreSQL의 옵티마이저에 대한 이해도를 높이dewstream.tistory.com 아래 포스팅도 참고하시면 좋을 거 같습니다. ..

PostgreSQL 2025.05.10

ANSI SQL: 윈도우 함수 LAG()

※ ANSI SQL Standard Window Function LAG(). 안녕하세요. 듀스트림입니다. 오늘의 포스팅은 오랜만에 SQL 관련이에요.ANSI 표준 윈도우 함수인 LAG()에 대해 한번 알아보겠습니다. 이걸 어디다 쓰냐고요? 이제 어떤 시스템을 만들었을 때 정산 관련 처리를 해야 되잖아요? 거기에도 사용하고, 주식 종가 대비 변화율 계산과 어떤 데이터의 변화 시점 추적 등에 사용합니다. (시계열 데이터나 순차적인 데이터에서 이전 값과의 비교나 차이를 계산할 때 사용)1. LAG() 함수란?ANSI 표준 윈도우 함수(Window Function) 중 하나로, 이전 행의 값을 현재 행에서 참조할 수 있게 해주는 함수입니다 문법은 아래와 같습니다.LAG(value_expression [, off..

SQL 2025.05.08

PostgreSQL: 조인 알고리즘과 유형

※ PostgreSQL: Join Algorithms and Types. 안녕하세요. 듀스트림입니다. 오늘은 PostgreSQL의 조인 알고리즘을 프로그래밍 관점에서 정리해 보겠습니다.PostgreSQL로 명시했지만, 알고리즘은 대부분의 DBMS에서 유사합니다.1. 조인 알고리즘PostgreSQL은 세 가지 조인 알고리즘을 사용합니다.각 알고리즘은 데이터의 크기, 정렬 여부, 조인 조건 등에 따라 성능과 메모리 사용에 차이가 있습니다. 1.1. Nested Loop Join (중첩 반복 조인)동작 방식: 한 테이블의 각 행을 기준으로 다른 테이블의 모든 행을 순회하면서 조인 조건에 맞는 행을 찾습니다.드라이빙 테이블(Driving Table):외부 for문에서 순회하는 테이블로, 가능한 한 행 수가 적거..

PostgreSQL 2025.02.23

PostgreSQL: 표현식 인덱스

※ PostgreSQL: Indexes on Expressions. 안녕하세요. 듀스트림입니다. 오늘은 표현식(Expressions) 인덱스에 대해 알아보겠습니다. 11.7. Indexes on Expressions11.7. Indexes on Expressions # An index column need not be just a column of the underlying table, but can be …www.postgresql.org1. 표현식 인덱스?표현식 인덱스는 하나 이상의 열에 함수나 계산식을 적용한 결과를 인덱싱합니다.단순히 컬럼 자체가 아니라 그 컬럼에 특정 연산을 수행한 값을 미리 계산하여 인덱스로 저장하는 방식입니다. 예를 들면 아래와 같이 사용할 수 있습니다.케이스 무시 검색:이메..

PostgreSQL 2025.02.19

PostgreSQL: Autovacuum 최적화

※ PostgreSQL: autovacuum optimization. 안녕하세요. 듀스트림입니다. PostgreSQL을 사용하시는 분들은 VACUUM 때문에 조금씩은 머리가 아프실 거에요.이번 포스팅은 유지관리에서 가장 신경써야할 것 중 하나인 autovacuum에 관한 내용입니다. 19.10. Automatic Vacuuming19.10. Automatic Vacuuming # These settings control the behavior of the autovacuum feature. Refer to Section 24.1.6 for more information. Note that …www.postgresql.org 오토배큠에 대한 PostgreSQL 공식 문서입니다. 네.. 저도 알아요. 여러분..

PostgreSQL 2025.02.14

PostgreSQL: 인덱스

※ Index in PostgreSQL. 안녕하세요. 듀스트림입니다. 설 연휴네요.그래서 그냥 쉬면서 인덱스에 대한 내용을 정리해봤습니다.1. 인덱스?인덱스는 데이터베이스 관리 시스템(DBMS)에서 데이터를 더 빠르고 효율적으로 검색하기 위해 사용되는 데이터 구조입니다.책의 목차처럼, 데이터가 저장된 위치를 미리 정리해 두어 원하는 데이터를 쉽게 찾을 수 있도록 도와줍니다.2. 인덱스의 특징• 빠른 데이터 검색: 테이블 전체를 검색(Full Table Scan)하는 대신, 인덱스를 사용하여 검색 시간을 단축합니다. • 데이터 정렬: 인덱스는 특정 컬럼을 기준으로 데이터를 정렬된 상태로 유지합니다. • 추가 저장 공간 필요: 인덱스를 저장하기 위한 추가적인 디스크 공간이 필요합니다. • 삽입/삭제/수정 시..

PostgreSQL 2025.01.28

PostgreSQL: Optimizer(Planner)

※ PostgreSQL: Optimizer(Planner).※ Version: PostgreSQL 16. 안녕하세요. 듀스트림입니다. 요즘 계속 튜닝의 연속인 날들 보내고 있습니다. 그래서 작성하는 이번 포스팅은 PostgreSQL의 옵티마이저에 관한 내용입니다.1. 옵티마이저 단계 ① SQL 입력클라이언트가 입력한 SQL 문이 PostgreSQL에 전달됩니다.② 파서(Parser)구문 분석: 입력된 SQL 문을 구문 분석하여 파스 트리(Parse Tree)를 생성합니다.문법 검사: SQL 문이 문법적으로 올바른지 확인하며, 오류가 있을 경우 이 단계에서 에러를 반환합니다. ③ 애널라이저(Analyzer)의미 분석: 재작성된 파스 트리를 기반으로 테이블, 칼럼, 데이터 타입 등의 정보를 시스템 카탈로그에..

PostgreSQL 2025.01.14
728x90