当我查看cPanel时,我有一个SQL数据库报告为大小为40Mb。如果我尝试使用PHPMyAdmin导出数据库,则导出文件的大小仅为900Kb。
奇怪的是,如果我将这个文件导入干净的数据库,那么一切看起来都在那里。
任何想法可能会导致这个尺寸问题?也许只是被错误地报道了?
答案 0 :(得分:1)
那是因为数据库和导出是两个完全不同的东西。
导出仅包含原始数据和表结构,而数据库本身也包含用于索引的额外数据。除此之外,存储数据的格式也不必相同。导出可能针对大小或可恢复性(或两者)进行了优化,而生产数据库中的数据则针对速度进行了优化。
答案 1 :(得分:1)
很难说,如果不了解您的架构,究竟是什么造成了这种情况。但是,在大多数情况下,数据库中存在一个消耗的位置以及每行更多的元数据。此外,根据您的引擎,该数据以不同的方式存储,并且可能会保留很多(此刻)不需要的地方,以便将来更容易分配。另一种可能是,您已导出数据库压缩 - 在phpmyadmin中有一个选项可以执行此操作。
有很多原因;)
答案 2 :(得分:1)
我之前的两个答案都很不错,但我还有一点要补充。根据cPanel计算空间的方式,有一个非常简单的解释。基本上,某些表类型在删除记录后不会回收磁盘空间。如果您曾经存储了40Mb的数据,那么就丢弃了很多数据,这是一个非常合理的原因,您可以看到它报告数据库仍占用磁盘上40Mb的空间。