흰 스타렉스에서 내가 내리지

대용량 테이블의 삭제 - DROP, DELETE, TRUNCATE 본문

SQL

대용량 테이블의 삭제 - DROP, DELETE, TRUNCATE

주씨. 2024. 4. 9. 23:08
728x90
  • 만약 몇억 거느이 데이터가 있는 대용량의 테이블이 더 이상 필요 없다면 어떻게 삭제하는 것이 좋을까?

1. DELETE

- 삭제가 오래 걸린다.

 

2. DROP

- 테이블 자체가 삭제된다. 

- 따라서 순식간에 모두 삭제된다.

 

3. TRUNCATE

- DELETE 와 동일한 효과를 내지만 속도가 매우 빠르다. 

 

 

  •  DROP 은 테이블이 아예 없어지지만, DELETE 와 TRUNCATE 는 빈 테이블을 남긴다. 
  • TRUNCATE 는 DELETE 와 달리 WHERE 문을 사용할 수 없다. 그러므로 TRUNCATE 는 조건 없이 전체 행을 삭제할 때만 사용된다.

 

# 결론

  • 대용량 테이블의 전체 내용을 삭제할 때 테이블 자체가 필요 없을 경우에는 DROP 으로 삭제하고, 테이블의 구조는 남겨놓고 싶다면 TRUNCATE 로 삭제하는 것이 효율적이다.