본문 바로가기

분류 전체보기202

통계 정보와 수집 전략 (Statistics & Collection Strategy) 1. 통계 정보란?데이터베이스에서 통계 정보(Statistics)는 옵티마이저가 SQL 실행 계획을 세울 때 사용하는데이터의 특성 정보를 말합니다.예를 들어 테이블의 총 행 수, 컬럼 값의 분포, 인덱스의 구조 등이 이에 해당합니다.통계 정보는 SQL 성능 최적화의 핵심 재료입니다.2. 통계 정보가 중요한 이유옵티마이저는 통계 정보를 바탕으로 최적의 실행 계획 수립통계 정보가 부정확하면 잘못된 실행 계획 → 성능 저하최신 통계 정보는 인덱스 사용 여부, 조인 방식 결정 등에 직접 영향3. 통계 정보의 주요 항목항목설명예시Table Rows테이블 총 행 수1,200,000Blocks테이블이 차지하는 블록 수15,000Distinct Keys컬럼의 고유 값 개수50Density컬럼 값의 중복 정도0.02Hi.. 2025. 8. 15.
SQL 힌트(Hint) 완벽 사용법 1. SQL 힌트란?SQL 힌트(Hint)는 데이터베이스 옵티마이저(Optimizer)가 실행 계획을 세울 때 개발자가 의도하는 방식으로쿼리를 유도하기 위해 작성하는 지시문입니다.힌트를 사용하면 쿼리 실행 순서, 조인 방식, 병렬 처리 여부 등을 직접 제어할 수 있습니다.주의힌트는 반드시 필요한 경우에만 사용해야 합니다.잘못 사용하면 성능이 오히려 저하될 수 있습니다.2. 힌트의 기본 문법SELECT /*+ HINT_NAME */ 컬럼명FROM 테이블명WHERE 조건;/*+ ... */ 형태의 주석 안에 힌트를 작성힌트와 다른 주석 구문이 혼동되지 않도록 주의3. 자주 쓰는 SQL 힌트 종류(1) 실행 계획 관련 힌트힌트설명예시FULL테이블 전체 스캔/*+ FULL(EMP) */INDEX특정 인덱스를 사.. 2025. 8. 14.
파티셔닝과 병렬 처리 (Partitioning & Parallel Processing) 1. 파티셔닝(Partitioning) 개념파티셔닝은 대용량 테이블이나 인덱스를 논리적으로 분할하여 관리하는 방법입니다.하나의 테이블이 너무 크면 데이터 검색 속도가 느려지고 관리가 복잡해집니다.이를 작은 단위로 나누어 성능과 관리 효율성을 높이는 것이 파티셔닝의 목적입니다.장점특정 파티션만 읽어 I/O 감소 → 쿼리 성능 향상백업, 복구, 삭제 작업을 파티션 단위로 가능데이터 관리 유연성 향상2. 파티셔닝 종류파티셔닝 방식특징예시범위 파티셔닝 (Range)컬럼 값 범위에 따라 분할2023년 데이터, 2024년 데이터리스트 파티셔닝 (List)특정 값 목록 기준으로 분할서울, 부산, 대구해시 파티셔닝 (Hash)해시 함수로 균등 분할ID % 4복합 파티셔닝 (Composite)두 가지 이상의 파티셔닝 조.. 2025. 8. 14.
DML 튜닝 (INSERT, UPDATE, DELETE) 완벽 가이드 데이터베이스에서 DML(INSERT, UPDATE, DELETE) 구문은 단순히 데이터를 수정하는 역할로만 보일 수 있지만, 대량 작업이나 실시간 트랜잭션 환경에서는 성능 병목의 주요 원인이 될 수 있습니다. 이번 글에서는 DML 성능을 최적화하기 위한 주요 기법과 실무 적용 팁을 정리하겠습니다.DML 성능 저하 원인DML 작업이 느려지는 이유는 주로 다음과 같습니다.인덱스 오버헤드 : UPDATE나 DELETE 시, 해당 테이블에 걸린 모든 인덱스를 갱신해야 함.잠금(Lock) 경합 : 동시에 여러 세션이 같은 데이터를 수정하려고 할 때 대기 시간 증가.로그 기록 부담 : 변경 이력(REDO, UNDO 로그) 기록이 많을수록 처리 속도 저하.트리거(Trigger) 및 제약조건(Constraint) : .. 2025. 8. 13.