[MySQL] mysqldump 시 dump file 크기와 실제 DB 크기가 다른 이유

728x90

문제

MySQL 백업을 위해 mysqldump 사용 시

실제 DB 크기와 .sql(dump file)의 크기가 다른 것을 볼 수 있는데(보통 dump file 사이즈가 더 큼)

 

왜 그럴까?

 

이유

DB에는 단순히 데이터가 저장되지만

dump file에는 SQL문(TEXT 형식)으로 저장되기 때문에 용량이 급격히 커집니다.

 

예를 들어 DB에는 단순히 A라는 데이터가 저장되어 있다 하더라도

이를 dump file로 뽑아내면 SQL문으로는 INSERT INTO .... VALUES ... 라는 문자들이 많이 추가되는 거죠.

 

게다가 DB에 숫자가 많을 수록 용량은 더 커지는데,

예를 들어 1234567890 이라는 데이터가 있다고 하면

DB에서 이 값은 단순히 하나의 정수이고, 3 bytes를 차지하지만

dump file에서는 10개의 문자로 인식되어 10 bytes를 차지하게 됩니다.

 

일반적으로 정규화가 잘된 DB일 수록

DB 크기 < dump file 크기

728x90