Coding Planet

[JDBC]ORACLE DBMS에서 만든 INDEX JDBC에서 사용하기 , Connection Pool 본문

Server

[JDBC]ORACLE DBMS에서 만든 INDEX JDBC에서 사용하기 , Connection Pool

jhj.sharon 2023. 1. 26. 20:50
반응형

 

1. ORACLE DBMS에서 만든 INDEX JDBC에서 사용하기

 

  • 생성: CREATE INDEX 인덱스명 ON 테이블명(컬럼명); ->인덱스명은 임의로 생성한다 IND_NAME, IDX_NAME
  • 조회하기 :SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '인덱스명';
  • 삭제하기: DROP INDEX 인덱스명;
  • 인덱스명 수정하기: DROP INDEX  기존 인덱스명 TO 바뀔 인덱스명
  • 컬럼수정은 불가. 인덱스 DROP 후 새로 CREATE해야함

 

 

 1. 테스트용 테이블 만들기_EMPNO만 복사해오기

 

 

 

 

 

2. 인덱스 생성문을 이클립스에서 메소드로 만들기

 

 

 

 

 

 

 

2. ORACLE DBMS에서 만든 VIEW JDBC에서 사용하기

 

  • 뷰란? 실체가 없는 테이블, 다른 테이블에 접근하기 위한 테이블
  • 일반적으로 검색 속도가 빠르다. 한 개의 뷰로 여러 개의 테이블을 조인하여 검색할 수 있다. 읽기전용으로 제한설정이 가능하다.
  • 뷰 정보 조회: SELECT * FROM USER_VIEWS;
  • 뷰 생성: CREATE VIEW 뷰이름 AS SELECT [WITH READ ONLY];
  • 뷰 수정: CREATE OR REPLACE VIEW 뷰이름 AS SELECT문
  • 뷰 삭제: DROP VIEW 뷰이름;
  • 뷰 구조 출력: DESC 뷰이름;
  • 테이블 제약 조건 조회: SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = '테이블명';

 

 

 

1. JDBC에서 뷰 생성하기_READ ONLY

 

 

 

 

 

 

 

2. READ ONLY에서 데이터 변경시 오류발생

 

 

 

 

 

 

3. JDBC Connection Pool(DBCP)

  • 커넥션 객체들의 집합
  • 클라이언트에서 데이터베이스 연결을 요청하는 시점에 연결하는 것이 아니라 미리 일정 수량의 커넥션을 생성해두고 요청시에 배분하는 방식
  • 즉, DMBS로부터 커넥션 해놓은 객체를 풀에 저장해두고 클라이언트 요청이 오면 커넥션 할당하는 것이다. 사용이 끝난 Connection은 pool에 반환된다.
  • 커넥션 객체 생성과 삭제에 드는 오버헤드를 방지하기 위한 객체 재활용 방식
  • 처리 속도가 빨라지며 자원의 효율적인 사용이 가능하다. Connection 객체 수 제어가 가능하다

*오버헤드: 어떤 처리를 하기 위해 들어가는 간접적인 처리시간, 메모리 등

 

 

 

 

 

4. JDBC 공통모듈

  • 자주 사용하는 명령어들을 메소드로 만들어 모듈화 시켜두고 필요할때마다 사용하여 재사용성을 높힌다.
  • getConnection(Connection conn), close(Statement stmt), close(ResultSet), commit(Connection conn), rollback(Connection conn) 등

 

 

 

 

반응형
Comments