강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

특정 컬럼 사용중지/drop

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

특정 컬럼 사용중지/drop

 

t.gif
t.gif
컬럼 drop에 대해서는 많이 언급했었다. 어디서? --;
컬럼 unused는 부하가 많은 곳에서 바로 drop하기 전에 사용하면 좋을 것 같다.

오라클 8i부터 사용되지 않는 컬럼에 대해 사용하지 않겠다고 mark할 수 있으며(unused)
이럴 경우 질의시 보이지 않는다. 실제 보이지만 않을 뿐이지 물리적인 부분은 그대로
있으므로 이 시점에서 사용된 공간이 반환되는 것은 아니다.
보통 컬럼의 drop으로 부하가 많이 걸릴 수 있을때 일단 unused해 뒀다가
후에 한가한(?) 시간에 drop할 용도로 사용하면 되겠다.

SQL> select * from test;

     EMPNO ENAME      JOB              MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 80/12/17        800                    20
      7499 ALLEN      SALESMAN        7698 81/02/20       1600        300         30
      7521 WARD       SALESMAN        7698 81/02/22       1250        500         30
      7566 JONES      MANAGER         7839 81/04/02       2975                    20

SQL> alter table test set unused(job,deptno); -- job,deptno를 사용하지 않겠다

테이블이 변경되었습니다.

SQL> select * from test; -- 보면 job,deptno가 이젠 표시되지 않는다.

     EMPNO ENAME             MGR HIREDATE        SAL       COMM
---------- ---------- ---------- -------- ---------- ----------
      7369 SMITH            7902 80/12/17        800
      7499 ALLEN            7698 81/02/20       1600        300
      7521 WARD             7698 81/02/22       1250        500
      7566 JONES            7839 81/04/02       2975

SQL> select * from user_unused_col_tabs; -- 이처럼 질의하면 unused 정보를 알 수 있다.

TABLE_NAME                          COUNT
------------------------------ ----------
TEST                                    2

SQL> alter table test drop unused columns; -- unused된 공간을 release하자.

테이블이 변경되었습니다.

SQL> select * from user_unused_col_tabs; -- 이젠 unused된 컬럼이 없다.^^

선택된 레코드가 없습니다.


위에서 alter table test drop unused columns 는 모든 unused된 컬럼들을 drop한다.
특정 컬럼만 drop하고 싶으면 당근 drop column구문을 사용하면 되겠다. 예를 들어,
job컬럼만 drop 하고자 한다면,

alter table test drop column (job);

끝.

This article comes from dbakorea.pe.kr (Leave this line as is)

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  109 명