如何导出/转储没有索引的mysql

goucqfw6  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(306)

我从服务器导出sql并导入到本地服务器。
但是导入sql的时间太长了,我觉得跟索引有关。
我可以导出不带索引的sql吗?
导入sql之后,将索引应用于表。这可能吗?

slsn1g29

slsn1g291#

mysqldump 文件编号:
--禁用键,-k
对于每个表,在insert语句周围加上/!40000 alter table tbl_name disable key/;和/!40000 alter table tbl_uname enable keys/;启用关键字;声明。这使得加载转储文件更快,因为索引是在插入所有行之后创建的。此选项仅对myisam表的非唯一索引有效。它对其他表没有影响。

w8ntj3qf

w8ntj3qf2#

--disable-keys 仅适用于myisam表。我做了很多搜索,没有找到任何类似的方法来为innodb做这件事。
我要做的是使用hexedit,按 Tab ,类型 / 当它找到 CREATE TABLE 对于引起问题的大表语句,我导航到 PRIMARY KEY / UNIQUE KEY / KEY 第二步,通过用空格替换来删除所有索引。保存文件后,加载转储,然后立即手动重新创建相同的索引。对于我的数据(150 gb和15亿行),它需要5个小时而不是15个小时。

相关问题