테이블 분할은 매우 효율적으로 데이터 쿼리를 수행하게 해준다.
여러 년도로 이뤄진 테이블에서 특정 년도를 기준으로 어느 쿼리를 수행한다면,
쿼리문 뒤에 where 조건으로 년도를 지정해야 한다.
- 이렇게 여러 연도가 들어 있는 테이블을 연도별로 데이터를 분할해두면, where 조건문을 사용할 필요 없다.
- 데이터베이스 튜닝(tuning)면에서 보면, index, 조건 where 등으로 데이터를 재정렬하는 부담이 크기에 사전에 분할해두는 것이 좋다.
TABLE 복사 (WHEN THEN)
//몇개 연도가 들어가 있는지 확인하시오.
select to_char(order_date, 'yyyy') from employees
//order data에 1990년 기준으로 데이터만 복사해서 넣기.
insert into order_1990 select * from orders
where to_char(order_date, 'yyyy') = '1990'
// when then 문을 사용하여 table data 복사
insert all
when to_char(order_date, 'yyyy') = 1990 then into 'order_1990'
when to_char(order_date, 'yyyy') = 1991 then into 'order_1991'
when to_char(order_date, 'yyyy') = 1992 then into 'order_1992'
select order_id, order_date, customer_id from orders;
// order table을 연도별로 나누어 when then 문을 활용하여, table 생성 * create 는 안됨 *
CREATE TABLE, hire date default sysdate
create table emp1(
emp_id number(6),
f_name varchar2(10),
l_name varchar2(10),
email varchar2(25),
phone varchar2(20),
hire date default sysdate,
job_id varchar2(10),
salary number(8,2),
commission number(4,2),
manager_id number(6),
depart_id number(4)
);
/*
hire date default sysdate,
hire date - 고용된 날짜를 DB에 입력한 날짜(sysdate)로 하겠다. default(기본값)으로.
*/
AUTO INCREMENT (SEQUENCE) (0) | 2022.06.08 |
---|---|
제약 조건 (CONSTRAINTS) (0) | 2022.06.07 |
정규 표현식 Regular Expression (0) | 2022.06.07 |
Oracle 분석 함수, 집합 함수 (0) | 2022.06.07 |
Oracle 날짜 함수, 변환 함수 (0) | 2022.06.07 |