논리 삭제와 물리 삭제의 차이점

김명수·2026년 1월 12일

매일메일

목록 보기
84/127
post-thumbnail

논리 삭제와 물리 삭제의 차이점

●논리 삭제와 물리 삭제의 차이점

  • 데이터베이스에서 데이터를 삭제하는 방법은 크게 물리 삭제(Hard Delete) 와 논리 삭제(Soft Delete) 가 존재
  • 물리 삭제 : DELETE 명령어를 통해 직접 데이터를 삭제하는 방식
  • 논리 삭제 : UPDATE 명령을 사용하여 삭제를 여부를 나타내는 컬럼을 수정하는 방식을 의미
  • 물리 삭제는 실제로 데이터를 삭제하는 반면 논리 삭제는 데이터가 삭제되었음을 표시만 한다는 점에서 차이가 있음
# 물리 삭제 처리
delete from member where id = 1;

# 논리 삭제 처리와 조회
update member set deleted_at = curdate() where id = 1;
select * from member where deleted_at is null;

●어떤 방식을 선택하는 것이 가장 좋은가?

  • 방식마다 장단점이 존재하기 때문에 상황에 맞는 선택을 하는 것이 옳음

  • 물리 삭제의 경우에는 실제로 데이터를 삭제하기 때문에 저장 공간을 새로 확보할 수 있으며, 테이블의 크기를 줄여 검색 속도 향상을 기대할 수 있지만, 데이터를 다시 복구하기 어렵다는 점과 삭제된 데이터가 비즈니스 의사결정에 사용되기 어렵다는 단점

  • 논리 삭제는 데이터를 삭제하지 않기 때문에 데이터 복구에 용이하고, 비즈니스 의사결정에 사용될 수 있지만, 테이블에 데이터가 많아져 성능에 악영향을 줄 수 있고, 논리 삭제된 데이터를 제외하지 않고 조회하는 실수가 발생할 수 있다는 단점이 존재

profile
신입개발자

0개의 댓글