데이터베이스에서 데이터를 CRUD하는 언어를 SQL(Structured Query Language)이라 한다.
그리고 자주 사용되는 SQL을 데이터베이스가 이해하기 쉬운 형태로 해석해 놓은 것을 Prepared statement라 한다.
Prepared statement는 데이터베이스 세션 내에 해석된 문장을 미리 준비하기 위하여 변수의 할당 및 해석 작업을 내부적으로 진행하여 별도의 해석과정 없이 실행되기 때문에 다량의 쿼리를 처리해야 하는 중대형 시스템에는 반드시 필요한 기능이다.
소량의 쿼리문에도 적용하는 경우가 있는데, 이 같은 경우에는 시스템 자원이 낭비될 수 있기 때문에 사용하지 않는 것이 좋다.
그럼에도 사용하는 이유는 Prepared statement가 어느정도의 SQL Injection 방어 효과(보안)가 있기 때문이다.