0

我刚刚从命令行使用mysqldump导出了一个 150 MB 的表。导出它大约需要 5 秒钟。

但是,当我尝试导入同一个文件时,最多需要 5 分钟。

为什么进口比出口慢,有没有办法加快速度?我需要导出/导入大于 1 GB 的表。

它与锁有关系吗?由于 select 正在读取数据,因此导出它会更快,而 import 正在写入数据并且可能会更慢,因为它需要写锁。

4

2 回答 2

1

读取比在 DBMS 中写入要简单得多。那是在您考虑事务日志之前。例如,您必须写入数据行;您还必须更新新行所在的表上的所有索引。这意味着每条书面记录不仅仅是一个 I/O。

于 2013-03-06T23:10:00.727 回答
1

在几乎任何媒介上,写作都比阅读慢。在 DBMS 中,必须维护索引,必须检查约束,必须分配空间,必须遵守事务边界,必须进行事务日志记录以便回滚工作,......

于 2013-03-06T23:15:34.570 回答