如何导出/转储没有索引的mysql
我从服务器导出sql并导入到本地数据库 但是导入sql需要花费太多的时间,我认为这与索引有关 我可以导出没有索引的sql吗如何导出/转储没有索引的mysql,mysql,indexing,import,export,Mysql,Indexing,Import,Export,我从服务器导出sql并导入到本地数据库 但是导入sql需要花费太多的时间,我认为这与索引有关 我可以导出没有索引的sql吗 导入sql之后,将索引应用于表。这可能吗?来自mysqldump文档: --禁用键,-K 对于每个表,在INSERT语句周围加上/*!40000 ALTER TABLE tbl_name DISABLE KEYS/;和/!40000 ALTER TABLE tbl_name ENABLE KEYS*/;声明。这使得加载转储文件更快,因为索引是在插入所有行之后创建的。此选项仅
导入sql之后,将索引应用于表。这可能吗?来自
mysqldump
文档:
--禁用键,-K
对于每个表,在INSERT语句周围加上/*!40000 ALTER TABLE tbl_name DISABLE KEYS/;和/!40000 ALTER TABLE tbl_name ENABLE KEYS*/;声明。这使得加载转储文件更快,因为索引是在插入所有行之后创建的。此选项仅对MyISAM表的非唯一索引有效。它对其他表没有影响
--禁用键
仅适用于MyISAM表。我已经做了很多搜索,但没有找到任何类似的方法来为InnoDB实现这一点
我要做的是使用,按
选项卡
,键入/
,然后输入表名,点击enter,当它找到导致问题的大表的创建表
语句时,我导航到主键
/唯一键
/键
,然后用空格替换所有索引。保存文件后,加载转储,然后立即手动重新创建相同的索引。对于我的数据(150 GB和15亿行),需要5个小时,而不是15个小时。您是如何导出的?如果通过mysqldump,请查看转储文件;您将看到它正在以最佳方式执行索引。导出/导入(备份、传输、其他)的目标是什么?为了进一步讨论,请为其中一个慢表提供SHOW CREATE TABLE
。我无法显示该文件,因为它的大小大于1 GB。我通过mysqldump转储了sql。当我将这个sql导入服务器时,它花费了太多的时间。