[SQL기초개념]Statement vs preparedStatement

2021. 6. 9. 20:53컴퓨터과학

728x90
반응형

Statement vs preparedStatement

 

1. 기본 Statement생성 절차

- Statement인터페이스의 execute메소드로 SQL문을 DB로 전달한다.

- Client로부터 request를 받고 statement형태로 DB로 전달된다.

- DBMSrequest에 대한 질의플랜을 짜고 컴파일을 실행한다.

 

2. StatementpreparedStatement의 비교

[ Statement ]

- Client로부터 방대한 양의 request를 받음. -> DB는 각 request에 대한 질의플랜을 짜고 컴파일을 실행함.

* 성능 문제 : request수 만큼의 컴파일을 일일히 다 진행해야 한다.

* 보안 문제 : 매 번 request마다 SQL구조가 변경될 수 있다.

* 사용성 문제 : 매번 새로운 request메소드를 request해야한다.

 

[ preparedStatement ]

- preparedStatement인터페이스의 객체 생성 시점에 해당 SQL내용을 고정한다.

- 첫 객체 생성 시에 DB에서 컴파일 진행. '내장 함수'형태로 만들어져 매 번 새로운 메소드 request가 진행되는것이 아니라 특정 기능에 대한 데이터만 받게 된다.

* 성능, 사용성 향상 : 고정된 메소드에 대한 데이터 request만 받아 수행.

* 보안 : SQL구조가 고정되어 불안정한 변경이 일어날 수 없다.

 

 

 

 

그래서 보통 preparedStatement를 사용한다.

728x90
반응형