Truncate 와 Delete 는 어느 상황에 맞게 써야할까?
기초적인 내용을 제외하고 운영하면서 배운 내용 위주로 간략히 적어본다.
Delete :
Truncate :
확인법 :
BEGIN TRAN
TRUNCATE TABLE TEST_1

select *
from sys.dm_tran_locks

위 상태에서 확인 시 Sch-M Lock 이 걸리는것을 확인할 수 있다.
따라서 운영환경에서 라이브중에 Truncate 를 쓸일은 없겠지만, 만약 쓰게 된다면 해당 테이블에 잠금이 생기니 주의하여야 된다.
번외)
BEGIN TRAN
DELETE FROM TEST_1
(4개 행이 영향을 받음)
완료 시간: 2024-07-30T15:33:53.5365826+09:00
DELETE 는 TRAN을 열고 실행하면 바로 삭제되며
새 창에서 접근 또한 가능하다.