2010. 5. 27. 17:30
TRUNCATE 란? I.lib()/I.lib(Altibase)2010. 5. 27. 17:30
..
..
..
.
테이블 자료 삭제 시 아래 명령을 통해서 수행하게 됩니다.
상기 명령어는 rollback 로그를 남겨야 하기 때문에 데이타가 몇백만, 몇천만이 되버리면 상당한 속도저하를 보여 DB가 죽은 상태로 인식될 수 있습니다. 대용량에서는 위험할 수 있는 부분이죠.
이럴 때를 위해 제공되는 TRUNCATE TABLE 명령어
TRUNCATE TABLE 은 다음과 같은 특성을 가집니다.
TRUNCATE TABLE은 테이블에서 모든 행을 제거하지만 테이블 구조와 테이블의 열, 제약 조건, 인덱스 등은 그대로 남습니다.게다가 COMMIT 이 필요없습니다. 로깅하지 않기 때문에 바로 삭제가 되버립니다. 대신 ROLLBACK도 되지 않습니다.
delete from [테이블명];
상기 명령어는 rollback 로그를 남겨야 하기 때문에 데이타가 몇백만, 몇천만이 되버리면 상당한 속도저하를 보여 DB가 죽은 상태로 인식될 수 있습니다. 대용량에서는 위험할 수 있는 부분이죠.
이럴 때를 위해 제공되는 TRUNCATE TABLE 명령어
TRUNCATE TABLE [테이블명];
TRUNCATE TABLE 은 다음과 같은 특성을 가집니다.
개별 행 삭제를 로깅하지 않고 모든 행을 테이블에서 제거합니다. TRUNCATE TABLE은 기능상으로 WHERE 절이 없는 DELETE 문과 동일하지만 더 빠르고 시스템 및 트랜잭션 로그 리소스를 덜 사용합니다.
TRUNCATE TABLE은 테이블에서 모든 행을 제거하지만 테이블 구조와 테이블의 열, 제약 조건, 인덱스 등은 그대로 남습니다.게다가 COMMIT 이 필요없습니다. 로깅하지 않기 때문에 바로 삭제가 되버립니다. 대신 ROLLBACK도 되지 않습니다.
* TRUNCATE 는 DDL 명령어기때문에 roolback이 되지 않는다. 그래서 따로 backup 해둔것이 없어 복원이 되지
않으니 주의가 필요하다.
않으니 주의가 필요하다.
'I.lib() > I.lib(Altibase)' 카테고리의 다른 글
Altibase 4.3.9.11 버젼 테이블 스페이스 정보보기 (2) | 2010.07.08 |
---|---|
[Altibase] 알티베이스 플랜 뜨는 명령어 (0) | 2010.07.08 |
Altibase 테이블 스페이스 정보 쿼리 (1) | 2010.07.05 |
SQL 저장 프로시저 (Stored Procedure) 란? (0) | 2010.04.13 |
IOT(INDEX ORGANIZED TABLE) (0) | 2010.04.12 |