2014-01-13 3 views
2

백업 이유로 mysqldump를 사용하여 mysql 데이터베이스를 내 보내야했습니다.내보내기/가져 오기 후 데이터베이스 크기가 달라집니다.

phpmyadmin에서 제공된 크기를 비교하려면 로컬 컴퓨터에 덤프를 다운로드 한 다음 SQLYog를 사용하여 로컬 데이터베이스에 덤프를 가져옵니다.

  • : 내 컴퓨터에서 phpMyAdmin에 의해 주어진 크기와 원격 시스템을 비교할 때 지금

    는, 내가 원격 시스템에서보다 작게 내 로컬 컴퓨터에서 가져온 데이터베이스와 끝까지 원격 시스템의 데이터베이스 크기 : 112,3 MIB

  • 로컬 컴퓨터의 데이터베이스 크기 : 95.7 MIB
나는 그런 차이에 대한 이유가 될 수 있는지 알고 싶습니다

?

건배

답변

3

112,3 미오 무엇? 행? 비?

스토리지 크기 인 경우 걱정할 필요가 없습니다. 디스크 공간 사용이 최적화되는 방식입니다 (진공/최적화 테이블). http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

반면에 행이면 다른 테이블을 추적하여 그 이유를 알아 내야합니다.

사용 (스키마 이름을 대체)

SELECT TABLE_NAME, table_rows, data_length, index_length, 
round(((data_length + index_length)/1024/1024),2) "Size in MB" 
FROM information_schema.TABLES WHERE table_schema = "test" 
union all 
SELECT 'total', sum(table_rows), sum(data_length), sum(index_length), 
sum(round(((data_length + index_length)/1024/1024),2)) "Size in MB" 
FROM information_schema.TABLES WHERE table_schema = "test" group by 1 
+0

총 테이블 크기이므로 스토리지 크기가 맞습니까? – renard

+0

위의 링크를 확인하십시오. 최적화 방법에 따라 저장 용량이 다를 수 있습니다. 내 쿼리를 사용하여 누락 된 행이 있는지 확인하십시오. – AdrianBR

+0

도움을 주셔서 감사합니다. 최대한 빨리 확인하고 내 게시물을 업데이트하십시오. – renard

1

편집 : 초기 답변에 대해 죄송합니다.

DB에 트리거/프로 시저가 있습니까? 트리거/프로 시저 특권이있는 사용자를 통해 파일을 익스포트하지 않은 경우 익스포트에 포함되지 않습니다.

또한 기본적으로 루틴을 건너 뛰고 트리거는 보통 루트 사용자 만 내보내집니다.

+0

데이터베이스 크기 비교, 크기를 덤프 없습니다. 덤프 크기는 인덱스 때문에 종종 더 작을 것입니다 – AdrianBR

+0

db에 트리거/프로 시저/루틴이 없습니다 – renard

관련 문제