stmt와 pstmt의 차이

2024. 12. 18. 11:25·JAVA/웹 프로그래밍 딥하게 파보기
반응형

데이터베이스 접근

데이터베이스에 접근할 때, statement를 선언하고 접근해 본 적이 있을 것이다.
근데 PreparedStatement와 무슨차이인가? 결국 같은 쿼리문을 보내는 것이 아닐까?

 

프로시저의 차이가 발생한다.

라이브러리 캐시

1. SQL문을 하나 사용할 때, 내부적으로 옵티마이저와 로우소스 생성기가 자동으로 프로시저를 만들어서 라이브러리 캐시에 할당하게 된다.

 

2. SQL문은 소문자 대문자와 같이 한 글자의 차이로도 새로운 프로시저를 만들게 되어있다.

3. 즉, 로그인 할 때, 유저아이디를 이용해서 찾게되면, 새로운 프로시저가 유저 수 만큼(500만명 로그인하면 500만개)가 라이브러리 캐시에 저장되게 됨

4. 이런 문제를 방지하기 위해 바인드변수가 존재하고, 바인드변수를 사용하는 방법이 PreparedStatement임. 유저 아이디를 매개변수로 처리하여 하나의 프로시저만 라이브러리캐시에 저장되게끔 만듬

반응형

'JAVA > 웹 프로그래밍 딥하게 파보기' 카테고리의 다른 글

오라클 클라우드+젠킨스 초기설정  (2) 2025.06.04
왜 무상태여야하는가?  (1) 2024.12.09
스프링 대규모 요청이 왔을 때  (0) 2024.12.09
스프링의 역할  (2) 2024.12.06
자바로 HTTP 네트워크 요청이 전송되는 원리를 알아보자  (1) 2024.12.04
'JAVA/웹 프로그래밍 딥하게 파보기' 카테고리의 다른 글
  • 오라클 클라우드+젠킨스 초기설정
  • 왜 무상태여야하는가?
  • 스프링 대규모 요청이 왔을 때
  • 스프링의 역할
cvcvcx9
cvcvcx9
프로그래머
  • cvcvcx9
    참치와 연어가 좋아
    cvcvcx9
  • 전체
    오늘
    어제
    • 전체보기 (90)
      • JAVA (22)
        • 웹 프로그래밍 딥하게 파보기 (7)
        • String (2)
        • 자바의 다양한 객체 (3)
        • 클래스와 인터페이스, 추상클래스 (2)
        • 컬렉션과 자료구조 (6)
        • 제네릭 (0)
      • SPRING (3)
      • JPA 게시판 (19)
        • JPA게시판 만들기 (7)
        • JPA (10)
        • Spring Security (2)
        • 오류정리 (0)
      • 코딩테스트 준비 (4)
        • 자료구조 (3)
      • Python (21)
        • Django (21)
      • 컴퓨터 기초 (8)
        • 컴퓨팅사고 (7)
      • Web (7)
        • 유용한 설정 (6)
        • Git 관련 (1)
      • 데이터베이스 (1)
        • 친절한 SQL튜닝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 인기 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
cvcvcx9
stmt와 pstmt의 차이
상단으로

티스토리툴바