mysql - 有一个带索引的 mysqldump。如何通过禁用它们来导入它?

标签 mysql database mysqldump

我正在尝试导入一个大型数据库,但因为有一个索引,导入数据库需要很长时间。我尝试将原始文件复制到另一台机器,但由于某种原因,没有读取最大的表,给我一个错误:can't read file: 'tablename.MYD。所以我 mysqldumped 了我的旧数据库,但它使用了一个索引。我不能再做一次,因为这需要很长时间。

我正在尝试导入数据库,但不确定如何在没有索引的情况下进行导入。我认为在导入后添加索引会快得多。有人有什么建议吗?

最佳答案

默认情况下,mysqldump 生成在批量导入期间禁用索引并在之后应用它们的 SQL。它看起来像这样:

/*!40000 ALTER TABLE `my_table` DISABLE KEYS */;
INSERT INTO `my_table` VALUES (...), (...);
/*!40000 ALTER TABLE `my_table` ENABLE KEYS */;

关于mysql - 有一个带索引的 mysqldump。如何通过禁用它们来导入它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3789723/

相关文章:

mysql - 在 MySQL 中跨数百万行使用 VARCHAR 与 INT

php - 在 Codeigniter/PHP 中显示类别

php - Cakephp 和 Mysql 中的 Unicode 字符问题

mysql - 是否可以在 mysql 中执行此查询?

数据库可伸缩性 - 性能与数据库大小

php - 使用 AJAX 和 PHP 将 <options> 附加到 <select>

java - flyway mysqldump 迁移

java - 交易问题

mysql - 将mysql用户迁移到另一台服务器

mysql - MySQL 中的外键约束错误 1452 - Magento 导入