PreparedStatement와 Statement의 성능 > 기술자료

본문 바로가기
사이트 내 전체검색

기술자료

JSP PreparedStatement와 Statement의 성능

페이지 정보

댓글 0건 조회 9,417회 작성일 2012-10-09 20:13

본문

오라클은 내부적으로 라이브러리 캐쉬를 유지합니다.
그리고 이 캐쉬내에는 실행된 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 30건 1 페이지

기술자료 목록
제목
30 JSP   1760  2018-07-19 18:57 ~ 2017-10-06 00:00  
29 JSP   3978  2018-07-19 18:47 ~ 2018-07-26 19:25  
28 JSP   5619  2017-04-02 18:52  
27 JSP   3781  2017-04-01 17:19  
26 JSP   4853  2017-03-29 07:14  
25 JSP   43443  2017-03-20 06:21 ~ 2017-04-03 00:00  
24 JSP   5013  2017-03-19 22:21  
23 JSP   4720  2017-03-13 10:32  
22 JSP   6779  2017-02-17 23:15  
21 JSP   3882  2017-02-17 22:59  
20 JSP   4126  2017-02-17 21:19  
19 JSP   4738  2017-02-17 21:17  
18 JSP   5614  2017-02-17 21:02  
17 JSP   4452  2017-02-15 19:02  
16 JSP   5513  2017-02-15 12:59  
15 JSP   12677  2012-12-28 23:24 ~ 2017-04-10 00:00  
열람중 JSP   9418  2012-10-09 20:13  
13 JSP   8855  2012-10-09 20:08  
12 JSP   7346  2012-09-27 19:01  
11 JSP   6986  2012-09-27 16:58  

게시물 검색
계좌이체 or 신용카드 결제하기
해피정닷컴으로 대금결제를 할 수 있습니다

접속자집계

오늘
2,099
어제
1,254
최대
4,574
전체
5,254,372

회사명: 해피정닷컴   대표: 정창용   사업자번호: 119-05-36414   전화: 070-7600-3500   팩스: 032-679-3528
부천센터: 14526 경기도 부천시 옥산로168번길 34-1, 3층   서울센터: 08393 서울시 구로구 디지털로32가길 16, 1206-280호
개인정보보호책임자: 정창용   통신판매업신고: 2014-서울구로-0074 [사업자등록확인]   건강기능식품영업신고 제2018-0080452호
Copyright 2001~2019 해피정닷컴. All Rights Reserved.