Mysqldump 生成的文件比数据库小

Mysqldump 生成的文件比数据库小

我的数据库为 250 MB,转储大小为 82 MB。我正在使用最新的 MariaDB。运行以下命令:

mysqldump -u user -p database > t.sql

答案1

  • 转储不包括INDEXes除 之外的其他内容PRIMARY KEY
  • 转储不包括磁盘文件中的“可用空间”。
  • 转储是文本,而不是二进制。例如,aBIGINT在文件中占用 8 个字节,但如果值为“1”,则在转储中占用 2 个字节:“...,1,...”(数字加上一个逗号)。
  • 另一方面,一些数字、字符串、日期等将需要更多的转储中的空间。
  • CREATE TABLE一个空表在磁盘上至少占用 24KB 的空间,但在转储中仅占用几百字节(大部分用于)。
  • 转储是一个文本文件;查看其中的一些内容(通过更多或更少或类似的东西)。

因此,3:1 的收缩是完全可行的。2:1 的扩张也是可能的。

相关内容