我的数据库为 250 MB,转储大小为 82 MB。我正在使用最新的 MariaDB。运行以下命令:
mysqldump -u user -p database > t.sql
答案1
- 转储不包括
INDEXes
除 之外的其他内容PRIMARY KEY
。 - 转储不包括磁盘文件中的“可用空间”。
- 转储是文本,而不是二进制。例如,a
BIGINT
在文件中占用 8 个字节,但如果值为“1”,则在转储中占用 2 个字节:“...,1,...”(数字加上一个逗号)。 - 另一方面,一些数字、字符串、日期等将需要更多的转储中的空间。
CREATE TABLE
一个空表在磁盘上至少占用 24KB 的空间,但在转储中仅占用几百字节(大部分用于)。- 转储是一个文本文件;查看其中的一些内容(通过更多或更少或类似的东西)。
因此,3:1 的收缩是完全可行的。2:1 的扩张也是可能的。