-
물리삭제와 논리삭제Database 2021. 3. 29. 12:11728x90
데이터베이스에서 데이터를 삭제하는 방법은 용도에 따라 크게 두가지로 나뉜다.
1. 물리삭제
2. 논리삭제
물리삭제
SQL DELETE 명령을 사용해 직접 데이터를 삭제하는 방식이다.
익히 알고 있는 말 그대로 데이터를 직접 지우는 방식이다.
논리삭제
삭제 플래그라는 별도의 Column을 만들고 테이블의 데이터를 직접 삭제하는 대신
SQL UPDATE 명령으로 삭제 플래그 안의 값을 변강하고 삭제 플래그로 미루어보아
삭제가 설정된 행을 제외하고 SELECT 명령을 실행하는 방식이다.
실제 데이터는 삭제하지 않고 삭제된 것 처럼 보이는 방식이다.
(논리삭제에는 삭제 플래그가 아닌 여러가지의 사용 방법이 있다고 한다.)
아래의 논리삭제의 장단점은 곧 물리삭제의 장단점이다.
장점
데이터를 삭제하지 않기 때문에 전의 상태로 간단히 되돌릴 수 있다.
단점
데이터를 논리삭제로 삭제할 경우, 데이터베이스의 저장공간이 늘어나지 않는다.
따라서, 데이터베이스의 크기가 증가할 수록 검색속도가 떨어진다.
추가로, 삭제 임에도 불구하고 UPDATE 명령을 실행하기 때문에 혼란을 야기할 수 있다.
상황에 따라 어느 삭제 방법이 유용한지 용도에 맞게 적절하게 사용 할 수 있어야한다.
사용 예
사용자 탈퇴
개인정보를 다루는 시스템의 경우 -> 물리삭제(개인정보 유출 방지 이점)
사용자 주문취소
특정 정보가 완전히 불필요하지 않다고 판단되는 정보를 삭제하는 경우 -> 논리삭제
관련 통계를 낼 때 유용하게 사용할 수 있다.
출처 :
SQL 첫걸음/ 아사이 아츠시 지음/ 한빛미디어
728x90'Database' 카테고리의 다른 글
SQL GROUP BY (0) 2021.04.09 SQL COUNT 집계함수 (0) 2021.03.29 SQL UPDATE (데이터 갱신하기) (0) 2021.03.25 SQL DELETE(행 삭제하기) (2) 2021.03.25 SQL INSERT(행 추가하기) (0) 2021.03.25