[Java] statement와 PreparedStatement
by Roel Downey728x90
반응형
Statement 와 PreparedStatement
SQL 을 실행할 수 있는 객체이다.
Statement 와 PreparedStatement 차이
가장 큰 차이점은 캐시(cache) 사용 여부이다.
Statement
1. 단일로 사용될 때 빠른 속도를 지닌다.
2. 쿼리에 인자를 부여할 수 없다.
3. 매번 컴파일을 수행해야 한다.
Statement는 Dynamic SQL을 사용한다면 매번 조건절이 틀려지게 됨으로 Statement이 좋다. 즉, 캐싱의 장점을 잃어버린다.
PreparedStatement
1. 쿼리에 인자를 부여할 수 있다.
2. 처음 프리컴파일 된 후, 이후에는 컴파일을 수행하지 않는다.
3. 여러번 수행될 때 빠른 속도를 지닌다.
preparedStatement는 처음 한 번만 세 단계를 거친 후 , 캐시에 담아 재사용을 한다.
특별한 경우가 아니면 preparedStatement가 이득이다. (컴파일 비용의 절감, SQL Injection 방지 등)
728x90
반응형
'Java' 카테고리의 다른 글
[디자인패턴] 빌더 패턴 (Builder) (0) | 2020.08.30 |
---|---|
[Java] Java Optional (0) | 2020.08.30 |
[Java] JUnit4 사용하기 (Eclipse에서) (0) | 2020.04.06 |
[Java] 추상 클래스(abstract Class) (0) | 2020.03.20 |
[Java] 메소드 오버라이딩(method overriding) (0) | 2020.03.18 |
블로그의 정보
What doing?
Roel Downey