SELECT MAX (LPROD_ID) FROM LPROD;
1. 시퀀스객체만들어야함
CREATE SEQUENCE SEQ_LPROD
START WITH 11;
2. 자료삽입
INSERT INTO LPROD
SELECT SEQ_LPROD.NEXTVAL, 'P502','농산물' FROM DUAL;
유일하게 서브쿼리쓸때 괄호가 생략되는것은 INSERT문에서...
3. SYNONYM
- 동의어
- 오라클 객체에 부여하는 별칭
- 다른소유자의 오라클 객체에 접근하기 위해서 '스키마명.객체명'으로 접근해야 함
*사용형식
CREATE [OR REPLACE] SYNONYM 시노늄이름
FOR 객체명;
EX
DEPARTMENTS 테이블을 DEPT라는 이름을 부여하여 사용하시오
CREATE SYNONYM DEPT
FOR DEPARTMENTS;
SELECT * FROM DEPT;
CREATE OR REPLACE SYNONYM MYDUAL FOR SYS.DUAL;
SELECT SYSDATE FROM MYDUAL;
4. INDEX
길을 찾아가는 KEY값과 주소로 이루어진 별도의 기억공간
- 검색 효율을 재고시키기 위한 객체
- 검색된 자료를 정렬(order by) 하거나 그룹핑(group by)할때 인덱스를 활용하면 실행 효율을 높일 수 있음
-DBMS의 LOAD를 줄여 성능 개선을 할 수있음
- 시간과 저장공간이 추가적으로 소요
-빈번한 삽입, 삭제, 수정이 발생하는 경우 인덱스 유지에 많은 시간이 소요
**인덱스가 필요한 컬럼
- 자주 검색에 사용되는 컬럼
- WHERE 절의 조건에서 '-'연산자를 사용하여 특정 값을 찾을 때 사용된 컬럼
- PRIMARY KEY로 설정되어진 컬럼 < 자동인덱스
- FOREIGN KEY : 거의 90퍼센트는 조인이 발생된다
- 정렬에 자주 사용되는 컬럼
** 인덱스가 불필요한 컬럼
- 자주 검색에 사용되지 않는 컬럼
- 컬럼 도메인이 단순한 컬럼 (중복값이 많이 발생)
- WHERE절에 사용된 조건이 결과가 테이블 거의 모든 자료일때
-SELECT문보다 INSERT, UPDATE등의 속도가 더 중요한 경우
**인덱스의 구분
(1) UNIQUE/NON-UNIQUE
-UNIQUE는 중복을 허락하지 않는 INDEX
-NON-UNIQUE는 중복 허용
-NULL값은 허용되나 한번만 사용(단, PRIMARY는 허용안됨)
(2) 구성방법에 의한 구분
- NORMAL INDEX(B-TREE INDEX)
- 기본 인덱스 구성 방식
- 트리구조로 컬럼값과 ROWID를 기반으로 주소 산출
- BITMAP INDEX
- 컬럼 도메인의 차수(Cardinallity)가 적은 경우 (성별,결혼여부,나이 등) 효율적
- 추가, 삭제, 변경이 많은 경우 비효율적
- 컬럼값과 ROWID를 2진으로 조합하여 주소 산출
-FUNCTION BASED INDEX
- 조건절에 함수를 사용하는 경우 효율적
'학원수업_Oracle' 카테고리의 다른 글
PL/SQL (0) | 2020.11.04 |
---|---|
201104 (0) | 2020.11.04 |
201103 VIEW (0) | 2020.11.03 |
201103 (0) | 2020.11.03 |
201102 (0) | 2020.11.02 |