[MySQL] CHECKSUM TABLE

■ CHECKSUM TABLE

CHECKSUM TABLE tbl_name [, tbl_name] ... [QUICK | EXTENDED]

CHECKSUM TABLE 테이블 내용에 대한 체크섬을 보고합니다. 명령문을 사용하여 백업, 롤백 또는 데이터를 알려진 상태로 되돌리려는 기타 작업 전후의 내용이 동일한지 확인할 있습니다.

 

명령문에는 테이블에 대한 SELECT권한이 필요합니다.

 

명령문은 뷰에 지원되지 않습니다. 뷰에 대해 CHECKSUM TABLE 실행하면 체크섬 값은 항상 NULL이며 경고가 리턴됩니다.

 

존재하지 않는 테이블의 경우 CHECKSUM TABLE NULL 반환하고 경고를 생성합니다.

 

체크섬 작업 중에 테이블은 InnoDB MyISAM 대한 읽기 잠금으로 깁니다.

 

▶︎ 성능 고려 사항

기본적으로 전체 테이블은 한행씩 읽히고 체크섬이 계산됩니다. 테이블의 경우 시간이 오래 걸릴 있으므로 때때로 작업을 수행해야합니다. 단위 계산은 InnoDB MyISAM 이외의 다른 모든 스토리지 엔진과 CHECKSUM=1 생성되지 않은 MyISAM 테이블에 대해 EXTENDED 절을 사용하여 계산됩니다.

 

CHECKSUM=1 작성된 MyISAM 테이블의 경우, CHECKSUM TABLE 또는 CHECKSUM TABLE ... QUICK 매우 빠르게 리턴될 있는실시간테이블 체크섬을 리턴합니다. 테이블이 모든 조건을 충족하지 않으면 QUICK메소드는 NULL 리턴합니다. QUICK 메소드는 InnoDB 테이블에서 지원되지 않습니다.

 

체크섬 값은 테이블 형식에 따라 다릅니다. 형식이 변경되면 체크섬도 변경됩니다. 예를 들어, TIME, DATETIME TIMESTAMP 같은 시간 유형의 스토리지 형식은 MySQL 5.6.5 이전의 MySQL 5.6에서 변경되었으므로 5.5 테이블이 MySQL 5.6으로 업그레이드되면 체크섬 값이 변경될 있습니다.

 

중요사항

테이블의 체크섬이 다른 경우 테이블이 어떤 방식으로 되어 있던 다르다는것이 거의 확실합니다. 그러나 CHECKSUM TABLE에서 사용하는 해싱 함수는 충돌이 없는것으로 보장되지 않으므로 동일하지 않은 테이블이 동일한 체크섬을 생성할 가능성이 약간 있습니다.

Designed by JB FACTORY