[SQL기초개념]Statement vs preparedStatement
2021. 6. 9. 20:53ㆍ컴퓨터과학
728x90
반응형
Statement vs preparedStatement
1. 기본 Statement생성 절차
- Statement인터페이스의 execute메소드로 SQL문을 DB로 전달한다.
- Client로부터 request를 받고 statement형태로 DB로 전달된다.
- DBMS는 request에 대한 질의플랜을 짜고 컴파일을 실행한다.
2. Statement와 preparedStatement의 비교
[ Statement ]
- Client로부터 방대한 양의 request를 받음. -> DB는 각 request에 대한 질의플랜을 짜고 컴파일을 실행함.
* 성능 문제 : request수 만큼의 컴파일을 일일히 다 진행해야 한다.
* 보안 문제 : 매 번 request마다 SQL구조가 변경될 수 있다.
* 사용성 문제 : 매번 새로운 request메소드를 request해야한다.
[ preparedStatement ]
- preparedStatement인터페이스의 객체 생성 시점에 해당 SQL내용을 고정한다.
- 첫 객체 생성 시에 DB에서 컴파일 진행. '내장 함수'형태로 만들어져 매 번 새로운 메소드 request가 진행되는것이 아니라 특정 기능에 대한 데이터만 받게 된다.
* 성능, 사용성 향상 : 고정된 메소드에 대한 데이터 request만 받아 수행.
* 보안 : SQL구조가 고정되어 불안정한 변경이 일어날 수 없다.
그래서 보통 preparedStatement를 사용한다.
728x90
반응형
'컴퓨터과학' 카테고리의 다른 글
[Spring Framework 특성 살피기] IoC에 대한 이해 (0) | 2021.08.02 |
---|---|
REST, RESTful의 개념 (0) | 2021.07.28 |
[JAVA개념공부]Collection Framework, Map메소드 사용법 (0) | 2021.05.30 |
[JAVA개념공부]has-a 관계, Generic타입 (0) | 2021.05.27 |
[JAVA개념공부]Inner Class, 익명Inner Class, 람다식 (0) | 2021.05.26 |