728x90
반응형

SQL성능 4

Statement vs Prepared Statement

개요Java로 데이터베이스를 다룰 때 가장 많이 사용되는 두 가지 SQL 실행 방법이 Statement와 PreparedStatement입니다. 이 둘은 SQL 실행 방식, 보안, 성능 최적화 측면에서 큰 차이를 보이며, 잘못된 선택은 SQL Injection, 성능 저하 등의 문제로 이어질 수 있습니다. 이 포스트에서는 Statement와 PreparedStatement의 차이점, 사용법, 보안성, 성능 차이, 실무 활용 전략을 상세히 비교합니다.1. 개념 및 정의 항목 Statement Prepared Statement 정의실행할 SQL을 문자열로 직접 입력실행할 SQL을 미리 컴파일하고 파라미터로 값 주입사용 목적단순, 고정되지 않은 쿼리파라미터가 있는 반복 쿼리 실행SQL 실행 시점컴파일과 실..

Topic 2025.04.20

정적 SQL vs 동적 SQL(Static SQL vs Dynamic SQL)

개요SQL은 데이터베이스와 상호작용하기 위한 언어이며, 그 구현 방식에 따라 '정적 SQL(Static SQL)'과 '동적 SQL(Dynamic SQL)'로 나뉩니다. 정적 SQL은 미리 정의된 구조로 고정 실행되고, 동적 SQL은 실행 시점에 조건이나 구조가 바뀔 수 있어 유연성이 뛰어납니다. 이 포스트에서는 두 방식의 개념, 차이점, 장단점, 보안/성능 측면을 상세히 비교 분석합니다.1. 개념 및 정의 유형 정의 실행 시점 정적 SQL애플리케이션 코드 내에서 SQL 문이 고정되어 실행컴파일 시 SQL이 결정됨동적 SQL실행 시점에 문자열로 SQL 문을 구성하여 실행런타임에 SQL 생성 및 실행정적 SQL: 구조 고정, 반복 실행 최적화 용이동적 SQL: 유연한 조건 처리, 쿼리 구조 변화 가능2...

Topic 2025.04.20

하드파싱 vs 소프트파싱(Hard Parsing vs Soft Parsing)

개요SQL 문이 데이터베이스에서 실행되기 전, 반드시 거치는 단계가 바로 파싱(Parsing)입니다. 이 중에서도 하드파싱(Hard Parsing)과 소프트파싱(Soft Parsing)은 SQL 성능을 결정짓는 핵심 요소입니다. 두 방식의 차이를 이해하면 데이터베이스 튜닝, 응답 시간 단축, 시스템 자원 절감 등의 효과를 얻을 수 있습니다. 이 글에서는 하드파싱과 소프트파싱의 개념, 처리 과정, 차이점, 최적화 전략 등을 정리합니다.1. 개념 및 정의 구분 정의 하드파싱(Hard Parsing)SQL 문이 처음 실행될 때, 새로운 파싱 트리 및 실행 계획을 생성하는 비용이 큰 작업소프트파싱(Soft Parsing)기존에 캐시된 SQL 실행 계획을 재사용하여 파싱을 최소화한 작업하드파싱은 부하가 크고 느..

Topic 2025.04.20

SQL 처리 과정(SQL Processing Steps)

개요SQL은 데이터베이스와의 대화 언어로, 우리가 작성한 SELECT, INSERT, UPDATE, DELETE 명령어는 내부적으로 복잡한 처리 과정을 거쳐 실행됩니다. 이 과정을 이해하면 SQL 최적화, 성능 개선, 오류 해결에 있어 보다 전략적인 접근이 가능합니다. 본 포스트에서는 SQL이 DBMS에서 처리되는 전 과정을 체계적으로 설명합니다.1. SQL 처리 개요SQL 처리란, 사용자가 입력한 SQL 문이 데이터베이스에서 해석, 최적화, 실행, 결과 반환까지 이르는 일련의 과정을 의미합니다.목적: SQL 성능 분석 및 튜닝 이해 기반 마련대상 DBMS: Oracle, MySQL, PostgreSQL 등 범용 적용 가능중요성: 실행 계획과 옵티마이저 이해의 기반2. SQL 처리 단계 단계 설명 세..

Topic 2025.04.20
728x90
반응형