728x90
  • 자동적으로 유일 번호를 생성합니다.
  • 공유 가능한 객체입니다.
  • 주로 기본 키 값을 생성하기 위해 사용 합니다.
  • 어플리케이션 코드를 대체합니다.
  • 메모리에 캐쉬(Cache)되면 시퀸스 값을 엑세스 하는 효율성을 향상시킵니다.

시퀸스는 테이블의 행에 대한 시퀸스 번호를 자동적으로 생성하기 위해 사용될 수 있습니다. 

시퀸스는 사용자가 생성한 데이터베이스 객체이며 여러 사용자가 공유할 수 있습니다.

시퀸스의 가장 일반적이고 전형적인 사용은 각 행을 유일하게 구분하는 기본 키값을 생성하기 위해서 입니다.

시퀸스 번호는 테이블과 관꼐없이 생성되고 저장됩니다. 그러므로 동일한 시퀸스는 여러 테이블에 대해 사용될 수 있습니다.

 

다음 구문은 depts테이블의 department_id 에 대해 사용되는 DEPTS_SEQ 라는 시퀸스를 생성합니다. 시퀸스는 91에서 시작하며, 캐쉬를 허용치 않으며, 사이클을 허용치 않습니다.

 

 

CACHE - 시퀸스를 빨리 제공하기 위해서 미리 메모리에 CACHE 갯수 만큼의 시퀸스를 만들어서 준비

CYCLE - 최대값에 도달했을대 다시 최소값 부터 시작함.

 

시퀸스 확인

SELECT * FROM user_sequences;

 

NEXTVAL 은 다음 사용 가능한 시퀸스 값을 리턴합니다

시퀸스가 참조될 때마다, 다른 사용자에게 조차도 유일한 값을 반환합니다.

CURRVAL은 현재 시퀸스 값을 리턴합니다.

CURRVAL 이 참조되기 ㅈ전에 NEXTVAL이 먼저 이용되어야 합니다

 


SEQUENCE (순차적으로 증가하는 값) INDEX

 

테이블이나 클러스터에서 쓰이는 선택적인 객체입니다.

오라클 데이터베이스 테이블내의 원하는 레코드를 빠르게 찾아갈수 있도록 만들어진 데이터 구조입니다.

포인터를 사용하여 행의 검색을 촉진하기 위해 오라클 서버가 사용합ㄴ다ㅣ.

빠르게 데이터를 찾기 위해 빠른 경로 액세스 방법을 사용하여 디스크 I/O를 경감시키빈다.

자동 인덱스는 Primary Key 또는 Unique 제한 규칙에 의해 자동적으로 생성되는 인덱스들입니다.

수동 인덱스는 CREATE INDEX 명령을 실행해서 만드는 인덱스들입니다.

 

자동으로 : 유일 인덱스는 테이블 저으이의 PRIMARY KEY 또는 UNIQUE 키 제약조건을 정희할 때 자동으로 생성됩니다.

수동으로: 사용자는 행에 대한 엑세스 시간을 향상시키기 위해 열에서 유일하지 않은 인덱스르 생성할 수 있습니다.

 

 

인덱스는 다음 경우에 생성하는 것을 권장합니다.

  • 열이 WHERE 절 또는 조인조건에서 자주 사용될 경우
  • 열이 광범위한 값을 포함할 경우
  • 열이 많은 수의 Null 값을 포함할 경우
  • 둘 또는 이상의 열이 WHERE 절 또는 조인조건에서 자주 함께 사용될 경우
  • 테이블은 대형이고 대부분 질의가 행의 2~4% 보다 적게 읽을 것으로 예상할 경우

다음 경우에는 인덱스를 생성하지 않기를 권장합니다.

  • 테이블이 작을 경우
  • 열이 질의의 조건으로 자주 사용되지 않을 경우
  • 대부분 질의가 행의 2~4% 이상 읽을 것으로 예상할 경우
  • 테이블은 자주 갱신될 경우 테이블에 하나 이상 인덱스를 가지고 있다면 테이블을 액세스하는 DML문장은 인덱스의 유지 때문에 상대적으로 더 많은 시간이 걸리게 됩니다. 

728x90

'DB' 카테고리의 다른 글

데이터베이스 모델링 -1  (0) 2022.01.07
SQL 사용자 권한  (0) 2022.01.05
뷰(View)  (0) 2022.01.05
DML-1  (0) 2022.01.04
DML(DATA MANIPULATION LANGUAGE)  (0) 2022.01.04
복사했습니다!