과학.IT.AI

하드파싱(Hard parsing)과 소프트파싱(Soft parsing) ?

IT
작성자
biolove2
작성일
2026-02-07 11:00
조회
75

데이터베이스(특히 Oracle) 성능 최적화의 핵심 개념인 **하드 파싱(Hard Parsing)**과 **소프트 파싱(Soft Parsing)**에 대해 핵심만 짚어드릴게요.

쉽게 비유하자면, 하드 파싱은 **'새로운 요리 레시피를 처음부터 연구해서 만드는 과정'**이고, 소프트 파싱은 **'이미 만들어둔 레시피를 서랍에서 꺼내 쓰는 과정'**이라고 보시면 됩니다.


1. 하드 파싱 (Hard Parsing)

사용자가 SQL 문을 실행했을 때, 데이터베이스가 해당 쿼리에 대한 실행 계획이 메모리(Shared Pool)에 없다고 판단하여 처음부터 분석하는 과정입니다.

  • 단계: 문법 체크 → 권한 확인 → 실행 계획(Execution Plan) 생성 → 메모리에 로드.
  • 특징: 실행 계획을 만드는 과정에서 CPU 자원을 굉장히 많이 소모합니다.
  • 문제점: 동시에 수천 명의 사용자가 하드 파싱을 수행하면 DB 서버의 CPU 점유율이 치솟고 성능이 급격히 저하됩니다.

2. 소프트 파싱 (Soft Parsing)

사용자가 보낸 SQL 문과 똑같은 문장이 이미 메모리(Library Cache)에 존재하여, 기존에 만들어둔 실행 계획을 그대로 재사용하는 과정입니다.

  • 단계: 문법 체크 → 메모리 내 실행 계획 검색 → 바로 실행.
  • 특징: 하드 파싱에 비해 훨씬 빠르고 시스템 자원을 거의 사용하지 않습니다.

3. 핵심 차이점 요약

구분 하드 파싱 (Hard Parsing) 소프트 파싱 (Soft Parsing)
메모리 확인 데이터 없음 (Cache Miss) 데이터 있음 (Cache Hit)
자원 소모 매우 높음 (CPU, Memory) 매우 낮음
속도 느림 매우 빠름
주요 원인 바인드 변수를 사용하지 않은 SQL 바인드 변수를 사용한 SQL

💡 성능 최적화 팁: 바인드 변수 사용

하드 파싱을 줄이는 가장 좋은 방법은 **바인드 변수(Bind Variable)**를 사용하는 것입니다.

  • 하드 파싱 유발: SELECT * FROM users WHERE id = 1;,
    SELECT * FROM users WHERE id = 2;
    (두 문장은 글자가 다르므로 서로 다른 SQL로 인식됩니다.)
  • 소프트 파싱 유도: SELECT * FROM users WHERE id = :user_id; (값이 바뀌어도 SQL 문장 자체는 변하지 않으므로 한 번만 파싱하면 됩니다.)

단순히 텍스트 하나만 달라져도 DB는 이를 다른 명령어로 인식해서 고생하며 '새 요리법'을 연구하게 되니, 가급적 규격화된 쿼리를 던져주는 것이 매너라고 할 수 있죠!

전체 0

전체 200
번호 제목 작성자 작성일 추천 조회
공지사항
"최악의 호스팅 서비스 경험 - 카페24 이용 후기 (실제 피해 사례)"
biolove2 | 2025.09.23 | 추천 0 | 조회 276
biolove2 2025.09.23 0 276
199
하드파싱(Hard parsing)과 소프트파싱(Soft parsing) ?
biolove2 | 2026.02.07 | 추천 0 | 조회 75
biolove2 2026.02.07 0 75
198
비밀글 111
biolove2 | 2026.01.03 | 추천 0 | 조회 39
biolove2 2026.01.03 0 39
197
[심화 학습 #4] 한국 공공기관 도입을 위한 필수 체크리스트: 보안 가이드라인과 CSAP
biolove2 | 2025.12.21 | 추천 0 | 조회 100
biolove2 2025.12.21 0 100
196
한국 공공기관 도입의 필수 관문: CSAP와 보안 가이드라인
biolove2 | 2025.12.21 | 추천 0 | 조회 109
biolove2 2025.12.21 0 109
195
[심화 학습 #3] AI 도입의 최종 관문: "데이터 거버넌스 및 보안"
biolove2 | 2025.12.21 | 추천 0 | 조회 91
biolove2 2025.12.21 0 91
194
[심화 학습 #2] 텍스트를 넘어 이미지와 도표를 읽다: "멀티모달 RAG"
biolove2 | 2025.12.21 | 추천 0 | 조회 88
biolove2 2025.12.21 0 88
193
[심화 학습 #1] AI의 답변 품질을 결정짓는 "Advanced RAG" 핵심 기술 총정리
biolove2 | 2025.12.21 | 추천 0 | 조회 86
biolove2 2025.12.21 0 86
192
비정형 데이터 (PDF, 엑셀, 매뉴얼 파일) 벡터화 및 임베딩 과정 (Chunking & Vectorization)
biolove2 | 2025.12.21 | 추천 0 | 조회 109
biolove2 2025.12.21 0 109
191
[GCP 시리즈 #5] 5분 완성! Compute Engine으로 나만의 웹 서버 만들기 (실전편)
biolove2 | 2025.12.21 | 추천 0 | 조회 95
biolove2 2025.12.21 0 95
190
[GCP 시리즈 #4] 내 서버를 지키는 철통 보안: VPC와 방화벽 완벽 가이드
biolove2 | 2025.12.21 | 추천 0 | 조회 90
biolove2 2025.12.21 0 90
189
[GCP 시리즈 #3] 쓰고 보니 1,000만 원? Compute Engine 요금 폭탄 피하는 5가지 전략
biolove2 | 2025.12.21 | 추천 0 | 조회 85
biolove2 2025.12.21 0 85
188
[GCP 시리즈 #2] 접속자가 폭주해도 평온한 이유: 오토스케일링과 로드밸런싱
biolove2 | 2025.12.21 | 추천 0 | 조회 82
biolove2 2025.12.21 0 82
187
[GCP 시리즈 #1] 클라우드의 심장, Compute Engine이란 무엇인가?
biolove2 | 2025.12.21 | 추천 0 | 조회 85
biolove2 2025.12.21 0 85
186
[GCP 시리즈 #1] 클라우드의 심장, Compute Engine이란 무엇인가?
biolove2 | 2025.12.21 | 추천 0 | 조회 89
biolove2 2025.12.21 0 89
185
국내 최대 클라우드 관리 전문 기업: 메가존클라우드(MegazoneCloud)  심층 분석
biolove2 | 2025.12.21 | 추천 0 | 조회 86
biolove2 2025.12.21 0 86
184
일반 호스팅 vs. GCP + MSP , 비용 비교, 구글 클라우드 MSP 업체, AS 방법
biolove2 | 2025.12.21 | 추천 0 | 조회 91
biolove2 2025.12.21 0 91
183
마켓플레이스에서 워드프레스 vs 일반 호스팅(카페24 등) 비교, 장.단점, 이용방법
biolove2 | 2025.12.21 | 추천 0 | 조회 100
biolove2 2025.12.21 0 100
182
Google Cloud Marketplace란? 상품 종류, 활용 시나리오,
biolove2 | 2025.12.21 | 추천 0 | 조회 84
biolove2 2025.12.21 0 84
181
AMP와 PWA: 2025년 SEO에 더 유리한 것은 무엇일까요?
biolove2 | 2025.12.20 | 추천 0 | 조회 93
biolove2 2025.12.20 0 93
180
피지컬 AI의 감각 기관: 데이터 수집 수단 (Sensor Taxonomy)
biolove2 | 2025.12.19 | 추천 0 | 조회 103
biolove2 2025.12.19 0 103