PreparedStatement와 Statement의 성능 > 기술자료 | 해피정닷컴

PreparedStatement와 Statement의 성능 > 기술자료

본문 바로가기

사이트 내 전체검색

PreparedStatement와 Statement의 성능 > 기술자료

JSP PreparedStatement와 Statement의 성능

페이지 정보


본문

오라클은 내부적으로 라이브러리 캐쉬를 유지합니다.
그리고 이 캐쉬내에는 실행된 SQL문장과 실행계획이 저장되어있습니다.
사용자가 SQL을 실행할때마다 오라클은 이 SQL이 라이브러리 캐쉬에 있는 SQL과
동일한지를 비교하고 만약 같다면 이미 기존에 있는 라이브러리 캐쉬의 실행계획을
가지고 SQL을 수행합니다.
 
이때 SQL문의 비교규칙은 간단합니다.
"모든 문자가 동일한가."
 
이는 대소문자, 라인피드, 탭, 스페이스 모두를 다 따지는것입니다.
 
일반적인 SQL문장에서
select * from emp where empno=1234;
select * from emp where empno=2345;
 
는 다르게 파싱됩니다. 다른문장으로 인식되기 때문이죠.
 
그러나 만약 비교할 값을 bind variable에 넣고
select * from emp where empno=:target_no;
 
이렇게 해주고 target_no를 변경하면서 실행되는 SQL문장은 모두같은것으로 인식됩니다.
 
PreparedStatement란 이처럼 바인드 변수의 사용을 가능케 하기 위해 사용됩니다. 
따라서 동일한 문장(위처럼 값만 바뀐다거나 할때)이 여러번 연속적으로 실행되거나 
비교적연속적(라이브러리 캐쉬에 있는 실행계획이 LRU에 의해 메모리에서 삭제되기 
직전에 다시 실행되기만 한다면)으로 실행된다면 월등한 성능향상을 얻을 수 있습니다.
 
라이브러리 캐쉬 hit ratio 보통 매우 높게(얼핏 기억으로는 hit가 90% 이상이어야
합니다.) 되도록 DB를 튜닝하는게 일반적입니다.
 
결론적으로 드릴 말씀은 "언제나 늘 PreparedStatement를 사용하십시오."라는 것입니다.


자료출처
http://www.okjsp.pe.kr/seq/11057  

댓글목록

등록된 댓글이 없습니다.


Total 2,634건 70 페이지
  • RSS
기술자료 목록
1254
그누보드   17879  2012-11-03 04:22 ~ 2018-12-18 02:42  
1253
그누보드   10715  2012-11-02 23:18  
1252
그누보드   11316  2012-11-01 22:20  
1251
그누보드   13266  2012-10-30 22:59  
1250
JavaScript   15695  2012-10-30 08:25  
1249
그누보드   12096  2012-10-29 23:37  
1248
그누보드   13434  2012-10-29 23:09  
1247
그누보드   12708  2012-10-29 21:09  
1246
PHP   19501  2012-10-28 23:34  
1245
그누보드   13736  2012-10-26 06:49  
1244
일반   13657  2012-10-25 20:51  
1243
그누보드   13512  2012-10-25 17:05 ~ 2020-10-15 13:42  
1242
MSSQL   16008  2012-10-23 09:07  
1241
ClassicASP   16555  2012-10-23 00:30 ~ 2014-08-13 00:00  
1240
HTML   24606  2012-10-20 21:42  
1239
그누보드   12767  2012-10-18 14:20 ~ 2014-12-11 00:00  
1238
JavaScript   29581  2012-10-17 21:33 ~ 2018-07-04 15:57  
열람
JSP   18792  2012-10-09 20:13  
1236
JSP   15289  2012-10-09 20:08  
1235
JavaScript   15463  2012-10-08 21:15  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.