
MyISAM에서 InnoDB로 테이블을 변환한 후 "show table status" 명령은 "count(*)" 명령에 표시된 올바른 수치와 다른 행 번호를 반환합니다. 이는 아마도 InnoDB 테이블에 사용되는 압축 행 형식 때문일 것입니다.
MyISAM 테이블에 표시되는 것과 마찬가지로 "show table status" 명령을 사용하여 InnoDB 엔진의 모든 테이블에 대해 올바른 행 번호를 빠르게 얻을 수 있는 방법이 있는지 궁금합니다.
답변1
내 생각엔 당신에게 운이 없는 것 같아요. 다음의 훌륭한 매뉴얼에서:
http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
행 수입니다. MyISAM과 같은 일부 스토리지 엔진은 정확한 개수를 저장합니다. InnoDB와 같은 다른 스토리지 엔진의 경우 이 값은 근사치이며 실제 값과 최대 40~50%까지 달라질 수 있습니다. 이러한 경우 정확한 개수를 얻으려면 SELECT COUNT(*)를 사용하십시오.