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여야 정상이다.