DROP / TRUNCATE / 내일배움캠프 1주차 후기

yesrin·2023년 5월 19일

데이터베이스

목록 보기
1/5

내일배움 캠프 1주차가 끝났다.
좀더 적극적으로 참가하지 못했던것 같아서 아쉬움이 남고 다른 분들의 프로젝트를 보니 더 열심히 해야겠다는 생각이 들기도 한다. 우리 바코트 팀! 모두 고생하셨습니다!

다른 분들의 프로젝트도 줌 수업을 통해 볼 수 있고 튜터님의 피드백도 같이 들을 수 있어 좋았다.

튜터님이 다른 한 조의 프로젝트중에 말씀해주신 말이 기억에 남아 기록을 남긴다.
"TRUNCATE, DELETE 둘중에 어떤걸 쓰신건가요?"

DROP, TRUNCATE, DELETE는 모두 삭제하는 명령어이지만 차이가 있다.

DROP
테이블 자체를 삭제 - 롤백 불가능

TRUNCATE
전체 데이터를 한번에 삭제하는 방식

  1. 테이블을 최초 생성된 초기 상태로 만듬
  2. 로그 안남김
  3. 속도 빠름
  4. 롤백불가능
  5. 용량이 줄어들고 인덱스 등도 모두 삭제됨

DELETE
where절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식

(where 절을 사용하지 않더라도 내부적으로는 한줄씩 제거하는 과정을 거침)

  1. 데이터만 삭제
  2. 로그남김
  3. 속도느림
  4. 커밋이전에 롤백가능
  5. 데이터는 지워지지만 용량은 줄어들지 않음

항상 DELETE만 사용해서 TRUNCATE는 사용해 본적이 없는데 전체 데이터를 삭제할대는 TRUNCATE를 원하는 데이터만 골라서 삭제할 때는 DELETE를 사용하면 유용할 것 같다.

참고한 게시물들

https://prinha.tistory.com/entry/SQL-DELETE-TRUNCATE-DROP-%EC%B0%A8%EC%9D%B4%EC%A0%90
https://yurimac.tistory.com/34
https://wikidocs.net/4021

감사합니다.
지식공유나 잘못된 정보는 댓글 남겨 주세요!

profile
안녕하세요! 틀린 정보는 댓글 달아 주세요.

0개의 댓글