Database

[MySQL] CHECK TABLE - 테이블 상태 확인

비번변경 2023. 4. 3. 21:41

CHECK TABLE

View DDL에서 존재하지 않는 테이블을 참조하는 등의 문제를 가진 테이블이 있는지 확인한다. 확인할 테이블에 대한 권한이 있어야 CHECK 명령을 수행할 시 있다.

 

개발자보다는 DBA가 주로 사용하는 명령어지만, DB 업그레이드 사전 작업 중 확인 요청이 와서 정리한다.

 

SQL

CHECK TABLE tbl_name [, tbl_name] ... [option] ...

option: {
    FOR UPGRADE
  | QUICK
  | FAST
  | MEDIUM
  | EXTENDED
  | CHANGED
}

옵션은 다음과 같다.

  • FOR UPGRADE : 테이블이 현재 MySQL 버전과 호환되는지 확인한다.
  • QUICK : 잘못된 링크를 확인하기 위한 행 스캔 금지
  • FAST : 적절히 CLOSE 되지 않은 데이블만 확인. cron 등을 이용해 주기적인 확인을 위해 사용한다.
  • MEDIUM : 행을 스캔하여 삭제된 링크가 유효한지 확인
  • EXTENEDED : 각 행의 모든 ​​키에 대해 전체 키 조회 수행
  • CHANGED : 마지막 확인 후 변경되었거나 적절히 CLOSE 되지 않은 테이블만 확인. cron 등을 이용해 주기적인 확인을 위해 사용한다.

 

 

 

실행 결과

컬럼 정보는 아래와 같다.

  • Op : check로 고정
  • Msg_type : 테이블 또는 뷰의 상태. status, error, info, note, warning 중 하나로 status 값이어야 정상이다.
  • Msg_text : 정보성 메시지. 값이 OK여야 정상이다.

 

 

참고 문서

https://dev.mysql.com/doc/refman/8.0/en/check-table.html

https://myinfrabox.tistory.com/147