SQLD데이터베이스 구축난이도 4MCQ

SQLD 데이터베이스 구축 기출문제 #2424

문제

다음 상황에서 데이터 정합성을 유지하면서 대용량 테이블의 데이터를 삭제하는 방법으로 가장 적절한 것은?

조건:

  • 1억 건의 데이터가 있는 로그 테이블
  • 외래키 제약조건 존재
  • 트랜잭션 로그 공간 부족
  • 테이블 구조는 유지해야 함
  • 외래키 제약조건을 해제하지 않고 처리해야 함

① DELETE FROM 로그테이블; ② DROP TABLE 로그테이블; ③ 외래키 제약조건 비활성화 후 TRUNCATE, 이후 제약조건 재활성화 ④ 배치 단위로 DELETE 문을 여러 번 실행

정답

4

해설

대용량 테이블에서 외래키 제약조건을 유지하면서 로그 공간 부족 문제까지 고려해야 한다면, 배치 단위 DELETE가 가장 적절하다. 한 번에 전체 DELETE를 수행하면 트랜잭션 로그가 급격히 증가할 수 있고, DROP은 테이블 구조를 삭제하므로 조건에 맞지 않는다. 외래키를 비활성화한 후 TRUNCATE하는 방식은 DBMS 의존적이며 정합성 유지 측면에서 일반 해법으로 보기 어렵다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 데이터베이스 구축 기출 #2424 | sqldpass