티스토리 뷰

데이터베이스/SQL

[DB] SQL 파싱

쌀맛나는세상 2007. 10. 1. 16:18



제가 주로 다루는 DB가 오라클인지라 오라클에 맞춰 설명 하겠습니다.

Shared Pool Area (공유풀)이란 영역이 있습니다.

SQL Statement, PL/SQL Code, Dictionnary Cache Information and etc...

공유풀 안에 있는 영역이 이런것들인데요. 공유풀을 만들어 놓은것은 나름의 목적을 가졌습니다.

각 DB session 에 메모리에서 공유하여 쓰면 속도면에서 이득이 있기 때문입니다.

기술적인 파싱 구분법

하드 파스(Hard Parse)

-- 모든 Statement (SQL or etc) 이 실행단계의 모든 과정, 즉 파싱,최적화, row 원본 생성, 실행을 거치는 파싱을 뜻합니다.

소프트 파스(Soft Parse)

-- Statement 이 전체가 아닌 일부과정을 거칠때 뜻합니다. 특히나 최적화 과정(가장 비용이 많이 드는 과정)을 건너 뜁니다.

어떻게 소프트 파싱이 가능하게 할수 있는가?

SQL 바인딩을 하시면 됩니다. PHP,ASP,JSP 모두 바인딩 할수 있게 언어적으로 지원합니다.