Database22 [오라클(Oracle) ] 인덱스(INDEX) / 인덱스(INDEX) 생성, 삭제, 조회, 리빌드(REBUILD) 1. 인덱스(INDEX) 의미 2. 인덱스(INDEX)를 생성해야 할 때 3. 인덱스(INDEX) 생성, 삭제 방법 4. 인덱스 조회 5. 인덱스 리빌드(REBUILD) 1. 인덱스(INDEX) 의미 인덱스(INDEX)란 테이블의 데이터를 빨리 찾기 위해 생성하는 데이터베이스 객체이다. 인덱스가 존재하면 SQL 명령문의 처리 속도가 향상되며(인덱스 유무와 조회 결과는 동일) 일반적으로 칼럼 단위로 생성한다. 인덱스의 가장 일반적인 내부 구조는 'B-TREE' 구조로, 가장 상위의 Root Node, 가장 하위의 Leaf Node, 그리고 이들을 연결하는 Branch Node로 이루어져 있다. 상위 노드는 하위 노드 값의 범위를 가지고 있으며 Leaf Node에 데이터 로우(ROW)가 존재한다. 또한 인덱.. 2022. 4. 22. [오라클(Oracle) ] 뷰(VIEW) 1. 뷰(VIEW) 정의와 종류 2. 뷰(VIEW) 생성 3. 뷰(VIEW) 업데이트와 삭제 1. 뷰(VIEW) 정의와 종류 뷰(VIEW)는 SELECT 조회 결과를 테이블로 간주하는 가상의 테이블이다. 사용자 입장에서는 일반 테이블과 동일하게 사용할 수 있다. 일부 제약 하에 추가, 수정 가능이 가능하지만 일반적으로는 읽기 전용으로 사용된다. 뷰(VIEW)의 장점으로는 첫 번째로 보안에 유리한 점이 있다. 노출되지 않아야 할 데이터 등 일부 데이터만 접근 가능하도록 뷰(VIEW)를 생성하여 보안을 높일 수 있다. 또한 복잡한 쿼리문을 뷰로 만들어서 사용이 편리하도록 하는 것도 뷰(VIEW)의 장점이다. 뷰(VIEW)의 종류는 단순 뷰(SIMPLE VIEW), 복합 뷰(COMPLEX VIEW)가 있는데,.. 2022. 4. 20. [오라클(Oracle) ] 임시 테이블 [오라클(Oracle) ] 임시 테이블 임시 테이블은 말 그대로 테이블을 임시로 잠시 사용하기 위해 생성하는 테이블이다. 처리와 접근 속도가 굉장히 빠른 특징이 있다. 1 2 3 4 5 CREATE GLOBAL TEMPORARY TABLE 테이블명( 칼럼명 테이터타입(크기), ... ...) ON COMMIT DELETE ROWS (OR) ON COMMIT PRESERVE ROWS; 생성을 위해 위와 같은 형식으로 SQL을 작성한다. 일반 테이블 생성법이랑 다른 점은 CREATE과 TABLE 사이에 'GLOBAL TEMPORARY'을 넣어주는 점과 마지막 줄에 'ON COMMIT DELETE ROWS' 또는 'ON COMMIT PRESERVE ROWS' 옵션을 적는 것이다. 'ON COMMIT DELET.. 2022. 4. 19. [오라클(Oracle) ] 서브쿼리(SUBQUERY) / 다중행 서브쿼리 / 다중칼럼 서브쿼리 / 상호연관 서브쿼리 [오라클(Oracle) ] 서브쿼리(SUBQUERY) 1. 서브쿼리(SUBQUERY) 2. 다중행 서브쿼리(IN, ANY/SOME, ALL, EXISTS) 3. 다중칼럼 서브쿼리(PAIRWISE, UNPAIRWISE) 4. 상호연관 서브쿼리 1. 서브쿼리(SUBQUERY) 서브쿼리(SUBQUERY)는 메인쿼리 안에 또 하나의 쿼리를 작성해 처리하는 방법이다. 서브쿼리 SQL문의 결과를 메인쿼리에 전달하여 최종 결과를 출력한다. 메인쿼리 안의 서브쿼리는 괄호로 감싸서 사용해야 한다. EX) student 테이블에서 '이민혁' 학생과 동일한 학년의 학생 출력 1 2 3 4 select name, grade from student where grade = (select grade from student whe.. 2022. 4. 19. 이전 1 2 3 4 ··· 6 다음