我不知道是否要在超级用户或SO上询问,但我在这里阅读了更多关于Navicat和sql转储文件的信息。
如果我使用Navicat上的默认设置转储我的数据库,它的大小就像是490MB,但是通过mysql转储的命令行就像290MB一样。发生了什么事?
答案 0 :(得分:1)
mysqldump只转储数据。像索引这样的东西也会占用磁盘空间,但不会包含在转储中。
如果要对数据库运行某种完整性测试,可以计算每个表中的行并进行比较。或者尝试此查询,这将为您提供更准确的磁盘使用数,而不是查看硬盘上的磁盘使用情况。
SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;