
Index Range Scan에서는 Root -> Branch -> Leaf로 조회 범위를 순차적으로 Scan하면서 ROWID를 가지고 Random Single Block I/O Access를 하는 형태이기 때문에 클러스터링 팩터가 매우 안좋을 경우에는 조회 건수 만큼 I/O가 발생할 수 있다. (넓은 범위를 조회하게 되면 성능이 나빠짐) 만약 특정 조건으로 넓은 범위를 읽어야 하고, 그 조건이 파티션 키 이면 해당 파티션을 Full Scan하여 Multi Block IO를 할 수 있기 때문에 Index Scan보다 유리하다. 또한 Full Scan이기 때문에 Parrallel Hint도 가능하다. * 클러스터링 팩터 - 데이터가 한 블록에 있는지? Index Scan시에 3개의 Row가 연속적으로 같은..

테이블에 데이터가 이미 있으면 UPDATE 를 실행하고, 없을 경우 값을 INSERT 해줘야 하는 경우에 MERGE INTO 문을 통해 한 쿼리로 간단하게 작성할 수 있다. * 오라클 9i 버전 이상부터 사용 가능 (but 10g이상 사용 추천) 아래와 같이 사용한다. MERGE INTO "테이블 명" USING "테이블 or 뷰 or 서브쿼리" ON ( " 조건절1" AND " 조건절2 " ... )-- 값이 있는지 확인 WHEN MATCHED THEN --있으면 UPDATE SET [COLUMN1] = [VALUE1], [COLUMN2] = [VALUE2], WHEN NOT MATCHED THEN --없으면 INSERT (COLUMN1, COLUMN2, ...) VALUES (VALUE1, VALUE..

# JDBC의 구조 - JDBC는 JDBC interface 와 JDBC Driver로 구성되어 있다. - 애플리케이션에서 SQL문을 만들어 JDBC interface를 통해 전송하면 실제 구현 클래스인 JDBC Driver에서 DBMS에 접속하여 SQL문을 전송한다. 그에 따른 결과를 다시 응용프로그램에게 전달한다. - JDBC는 애플리케이션과 DBMS를 연결해주는 다리 역할이라고 보면된다. * 여기서 JDBC Driver은 데이터베이스의 종류마다 다르기 때문에 종류와 버전에 맞는 Driver를 맞게 사용해줘야 한다. Oracle Database 11g Enterprise 버전을 기준으로 JDBC 연결하는 방법에 대해서 알아보겠다. 1. ojdbc6.jar 다운받기. repo1.maven.org/mav..