반응형
물리삭제와 논리삭제
- 데이터베이스에서 데이트를 삭제할 때는 ‘물리 삭제’와 ‘논리 삭제’ 두 가지 방법이 있다
두 종류의 삭제방법
- 물리삭제 : DELETE 명령을 사용해 직접 데이터를 삭제하는 방식
DELETE FROM 테이블명 WHERE 조건
- 논리삭제 : 테이블에 '삭제플래그'와 같은 열을 만들어 UPDATE 명령으로 '삭제플래그' 값을 유효하게 갱신해두는 방식. 실제 데이터는 남아있지만 삭제가 설정된 행을 제외하고 SELECT하는 명령 시행
// 예를들어 회원테이블에 삭제일시라는 컬럼이 있을 경우
UPDATE members
SET delete_at = now() --> 현재시간
WHERE mber_id = 1 --> 조건
논리삭제는 실제로 데이터를 삭제하지 않기 때문에 삭제 이전으로 되돌릴 수 있다는 장점이 있다. 하지만 삭제해도 DB의 저장공간이 늘어나지 않고, 오히려 크기가 증가함에 따라 속도가 느려지는 단점이 있다.
삭제방법 선택하기
두 삭제방법 모두 장단점이 있기 때문에 데이터 특성과 용도에 따라 선택하여 사용해야 한다.
- 예를 들어 개인정보를 취급하는 테이블은 물리삭제를, 쇼핑 사이트의 주문 취소는 주문통계에는 영향을 미치므로 논리삭제를 주로 사용한다.
반응형
'자격증 > SQLD' 카테고리의 다른 글
[SQL 첫걸음] 21강. COUNT 이외의 집계함수 (0) | 2022.04.04 |
---|---|
[SQL 첫걸음] 20강. 행 개수 구하기 - COUNT (0) | 2022.04.04 |
[SQL 첫걸음] 18강. 데이터 갱신하기 - UPDATE (0) | 2022.04.04 |
[SQL 첫걸음] 17강. 삭제하기 - DELETE (0) | 2022.04.04 |
[SQL 첫걸음] 16강. 행 추가하기 - INSERT (0) | 2022.04.04 |