出于备份原因,我不得不使用mysqldump导出mysql数据库。
为了比较phpmyadmin给出的大小,我在本地计算机上下载了转储,然后使用SQLYog将转储导入到本地数据库中。
现在,当我在我的机器和远程机器上比较phpmyadmin给出的大小时,我最终在本地计算机上导入的数据库小于远程计算机上的数据库:
我想知道造成这种差异的原因是什么?
干杯
答案 0 :(得分: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
答案 1 :(得分:1)
数据库是否有触发器/程序?如果您没有通过具有触发器/过程权限的用户导出文件,则它们将不会包含在导出中。
默认情况下也会跳过例程,触发器通常只由root用户导出。