导出/导入后数据库大小不同

时间:2014-01-13 09:37:18

标签: mysql

出于备份原因,我不得不使用mysqldump导出mysql数据库。

为了比较phpmyadmin给出的大小,我在本地计算机上下载了转储,然后使用SQLYog将转储导入到本地数据库中。

现在,当我在我的机器和远程机器上比较phpmyadmin给出的大小时,我最终在本地计算机上导入的数据库小于远程计算机上的数据库:

  • 远程机器数据库大小:112,3 Mib
  • 本地机器数据库大小:95,7 Mib

我想知道造成这种差异的原因是什么?

干杯

2 个答案:

答案 0 :(得分:3)

112,3 Mio什么?行? B'

如果是存储大小,则不用担心,这是关于如何优化磁盘空间使用(真空/优化表)。 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用户导出。