steadilee
FRACTAL
steadilee
전체 방문자
오늘
어제
  • 분류 전체보기 (47)
    • Knowledge (0)
      • 컴퓨터 (0)
    • Data Analysis (7)
      • 공부 (4)
      • Simple Analysis (0)
      • ML,DL (3)
      • Kaggle (0)
    • Skill (40)
      • SQL 이론 (3)
      • Oracle (18)
      • MySQL (0)
      • Python (5)
      • Linux (2)
      • C,C#,C++ (8)
      • Java (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
steadilee

FRACTAL

Skill/Oracle

Oracle 중급6 : 뷰, 인덱스, 시퀀스

2022. 5. 10. 13:54

 

예제95. 복잡한 쿼리를 단순하게 하기1 : VIEW

- create view 뷰명
  as
     (select 문)


- 테이블 중 일부 데이터만 볼 수 있도록 하는 것. 

※ 뷰를 사용하는 이유
- 보안상의 이유로 다른 데이터에 대해 접근할 수 없도록 할 때
- 복잡한 쿼리 간단하게 검색하고자 할때

- 바라보기만 하는 것이기 때문에 데이터를 가지고 있지 않음.
- view에 대하여 update수행했을 때 원본 테이블 데이터도 수정됨..


 

예제96. 복잡한 쿼리를 단순하게 하기1 : VIEW

- group 함수로 view를 만들 때는 새로 생기는 컬럼에 대해 컬럼별칭을 꼭 써야 생성 가능.



예제97. 검색 속도 높이기 객체 : INDEX

- 목차의 개념/전체를 다 읽지 않아도 됨(Full table scan)

create index 인덱스명
  on 테이블명(컬럼명);


- 실행계획으로 생성됐는지 확인하기

 

※ 실행계획 보는 법

explain plan for
	쿼리문
    
select * from table(dbms_xplan display);

 


※ index 보는 법

select 인덱스 생성한 컬럼명, rowid
	from 테이블명
	where 인덱스 생성한 컬럼 > = 0 ;


- where절 조건은 index 컬럼이 숫자인 경우, >=0
   문자인 경우,                                       > ' ' 
- 이 경우, 데이터를 인덱스에서 가져오므로 자동으로 정렬됨.

cf. rowid 컬럼 : 행의 물리적인 주소
   구성 : file번호 + 블럭번호 + row번호
   - 인덱스 외에 테이블에도 rowid 존재함.

cf. 객체의 종류 : 테이블, 뷰, 인덱스

 

 



예제98. 중복되지 않는 번호 만들기(SEQUENCE)

create sequence 시퀀스명
select 시퀀스명.nextval
	from dual;


- select 문 실행 시마다 번호 올라감.

 

create sequence seq2
	  start with 1
  	  maxvalue 100
 	  increment by 1
        nocycle;


  -> 1부터 100까지 cycle 없이 시퀀스 생성하고 그 이후는 생성못하고 error
  -> cycle로 하면 다시 1로 돌아감
  -> cycle 부분은 생략하여 작성가능

- 테이블 내에 시퀀스 사용한 컬럼 만들기 가능

 insert into 테이블명
    values( 시퀀스명.nextval, 데이터...)



저작자표시 비영리 변경금지 (새창열림)

'Skill > Oracle' 카테고리의 다른 글

Oracle 중급8 : 데이터 품질 높이기(primary key,unique)  (0) 2022.05.10
Oracle 중급 7 : Flashback  (0) 2022.05.10
Oracle 중급5 : DDL  (0) 2022.05.10
Oracle 중급 4: 계층형 질의문  (0) 2022.05.10
Oracle 중급3 : DML문, LOCK  (0) 2022.05.06
    'Skill/Oracle' 카테고리의 다른 글
    • Oracle 중급8 : 데이터 품질 높이기(primary key,unique)
    • Oracle 중급 7 : Flashback
    • Oracle 중급5 : DDL
    • Oracle 중급 4: 계층형 질의문
    steadilee
    steadilee

    티스토리툴바