본문 바로가기

Oracle - SEQUENCE , SYNONYM SEQUENCE - 번호발생기 99.9%가 INSERT문에 사용 SQL> CREATE SEQUENCE DEPT_DEPTNO 2 START WITH 1 ------ 시작값이 1 3 INCREMENT BY 1 ------ 1씩 증가 4 MINVALUE 1 5 MAXVALUE 100 6 NOCACHE 7 NOCYCLE; ------ 순환X 주문번호가 생성되었습니다. SQL> INSERT INTO DEPT 2 VALUES (DEPT_DEPTNO.NEXTVAL, 'BBB', 'CCC'); (시퀀스.다음값) SQL> SELECT * FROM DEPT; DEPTNO DNAME LOC ---------- -------------- ------------- 10 PRESIDENT NEW YORK 20 RESEARCH D.. 더보기
Oracle - INDEX INDEX 우리가 흔히 보는 책의 색인처럼 오라클내에서 빠르게 검색해주는 기능 테이블과 별도의 장소에 저장된다 1. 사용자의 SQL문에서 WHERE/JOIN 에 자주 사용되는 컬럼이 대상 2. 갯수는 사용형태에 따라 적절하게 사용 3. 너무 많은 인덱스는 성능이 감소 4. 빈번하게 변경되지 않는 테이블에 적용 5. 컬럼의 분포도가 2~4%가 최적(10%기준) 6. 테이블의 사이즈가 큰 곳에 사용 *인덱스를 만들면 SELECT속도는 향상되나 DML속도는 저하됨 SQL> --내가 생성한 제약검색 SQL> DESC USER_CONSTRAINTS SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME IN('EMP1','DEP.. 더보기
Oracle - VIEW VIEW - 물리적 TABLE을 근거로 한 논리적 가상테이블 -물리적인 저장공간 X -테이블을 기초로한 가상테이블 -하나 이상의 테이블로 생성 -테이블에 선택된 컬럼 정보만 참조 (보안강화) -복잡한 조인문을 간단하게 실행 -튜닝된 SQL문을 사용하여 성능향상 -유지보수 편리 -ACCESS의 단순화 VIEW의 종류 SIMPLE 뷰 SQL> CREATE OR REPLACE VIEW EMP1 AS SELECT * FROM EMP WHERE DEPTNO = 10; COMPLEX 뷰 SQL> CREATE VIEW EMP1 AS SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO; SIMPLE 뷰 -하나의 테.. 더보기