반응형
자바 JDBC를 사용할 경우
요즘엔 preparedStatement 를 많이 사용하곤 하지만 예전에는 Statement 로도 종종 사용을 해왔다.
비슷한 기능을 하는 두 메서드에 대해서 차이에 대해 잠깐 적어보려고 한다.
결론 먼저 말하면 PreparedStatement 를 더 많이 사용하고 사용하기를 권장한다.
이유는 크게 2가지이다.
성능면에서 재사용이 가능하여 도움이 되고 ,
sql 인젝션이 방지 되어 보안상에도 도움이 된다.
sql 인젝션 관련해서는 아래 참고 포스팅 참고 바란다.
그리고 나중에 알게 된 사실인데 속도면에서도 도움이 된다고 한다.
일반적인 RDBMS 사용시 실행할 쿼리를 실행하면 다음 단계를 거친다.
- SQL 쿼리 구문 분석(syntax, semantic)
- SQL 쿼리 컴파일 (compile)
- 데이터 수집 경로 계획 및 최적화 (optimizer)
- 최적화 된 쿼리를 실행하고 결과 데이터를 반환 (fetch)
Statement를 사용할 경우 4 단계를 거치지만
PreparedStatement준비된 문장을 만들 때 처음 3 단계가 실행된다.
따라서 쿼리를 실행하는 데 소요되는 시간과 속도가 더 빠르다고 한다.
참고 포스팅
https://thenicesj.tistory.com/69
반응형
'IT > Java' 카테고리의 다른 글
spring -> springboot 로 프로젝트 변경 (47) | 2023.08.30 |
---|---|
[Java] ASCII 문자 숫자 변환 코드 (50) | 2023.08.29 |
Lazy Bean 에 대해(lazy init / lazy loading) (47) | 2023.08.26 |
SpringJDBC에서 DataSource, RowMapper란? (44) | 2023.08.24 |
[Java] Scope란? (52) | 2023.08.23 |
댓글