statement 와 preparedStatement 가 왜 두개가 있는지부터 생각해보아야 할꺼에요?
먼저 statement 는 동적으로 변하지 않는 쿼리를 날리고자 하는 경우에 사용되고요
preparedStatement 는 동적으로 쿼리를 변경해서 날릴 때 사용하지요.
그렇기 때문에 in parameter 만 다른 많은 쿼리를 날리고자 할 때는
preparedStatement 를 사용하는 것이 매우 효과적입니다. 왜냐하면 statement 로 날릴 경우에는 매번 dbms 에서 컴파일을 하고 실행하는데 반해 preparedStatement 는 한번 컴파일해놓고 in parameter 만 변경해서 실행하거든요 하지만 모든 쿼리를 preparedStatement 로 사용할 경우에는 문제가 생길 수 있습니다. dbms 자원이 낭비되거든요 모든 쿼리를 메모리에 가지고 있을려니 힘들죠 그리고 필요하지도 않는 쿼리가 메모리에 있으니 메모리가 꽉차면 매번 제거하는 작업도 해야하구..
jdbc programming in oracle 라는 책이던가.. 거기서는 65번 이상 반복적으로 쿼리를 실행할 경우에는 preparedStatement 를 사용하라고 합니다. oracle 이외에는 어떤게 적정수치라고 할 수 없지만 ...
암튼 결론을 내리자면 반복적인 실행이 필요없는 쿼리이고 자주 사용되지 않는 쿼리라면 꼭 statement 를 사용하세요. 어떤 회사에는 preparedStatement 가 좋다고 모든 쿼리를 이걸로 작성하는데 이는 분명 잘못된겁니다. 


출처 : http://uclee1124.tistory.com/m/28

'DB' 카테고리의 다른 글

DataSet DataTable DataGridView  (0) 2019.03.25
DB 정규화  (0) 2019.01.09
프로시저란?  (0) 2018.12.26
left, right, inner, outer, natural join  (0) 2018.11.20
DB 성능 순서  (0) 2018.09.20

+ Recent posts