데이터베이스에서 데이터를 삭제하는 방법에는 크게 두가지가 있다.
-물리삭제
-논리삭제
물리삭제란
-> SQL DELETE 명령을 사용하여 데이터를 직접 삭제하는 방식이다.
(즉 데이터 자체를 직접 삭제하는 방식이다.)
논리삭제란
-> 삭제 플래그 라는 별도의 Column을 만들고 데이터를 직접 삭제하는 대신
SQL UPDATE 명령을 사용하여 삭제 플래그 안의 값을 변경하는 방식이다.
(즉 데이터 자체는 삭제 되지 않고 보존된다.)
각자의 장단점을 알아보자.
| 물리삭제 | 논리삭제 | |
| 장점 | 삭제하면 데이터베이스의 저장공간이 확보된다. | 데이터를 삭제하지 않아 전 상태로 간단히 되돌릴 수 있다. |
| 단점 | 데이터를 직접 삭제 하므로 복구가 까다롭다. | 데이터가 직접 삭제되는 것이 아니므로 데이터베이스의 크기가 증가할 수록 검색속도가 떨어지게 된다. 또, 삭제 작업 인데도 불구하고 UPDATE 명령을 실행하기 때문에 혼란을 야기할 수도 있다. |
그렇다면 물리삭제와 논리삭제를 어떠한 상황일 때 구분하여 사용 하는 것 일까?
사용자 탈퇴(물리삭제)
개인정보가 담겨있는 사용자가 탈퇴할경우 개인정보 유출 방지 하기위해서 물리삭제가 적절하다.
사용자 주문취소(논리삭제)
특정 정보가 완전히 불필요하다고 판단되지 않는 이상 논리삭제를 이용하는 것이 적절하다.
관련 통계를 낼 때 유용하게 사용 할 수 있기 때문이다.
'DBMS > RDBMS - MySQL' 카테고리의 다른 글
| [MySQL] MySQL JOIN (내부결합,외부결합) (0) | 2023.09.13 |
|---|---|
| [MySQL] MySql집합연산 - 합집합 (0) | 2023.09.13 |
| [MySQL] 데이터베이스 용어 모음집 (1) | 2023.09.08 |
| [MySQL] DBMS의 명령어 종류 (DML,DDL,DCL,TCL) (0) | 2023.09.08 |
| [MySQL] ERROR 1819(HY000) 해결법 (0) | 2023.09.07 |