Py学习  »  DATABASE

如何在没有索引的情况下导出/转储mysql

hobbydev • 4 年前 • 858 次点击  

我从服务器导出SQL并导入到本地。

但是导入sql需要太多的时间,我认为它与索引有关。

我可以导出没有索引的sql吗?

导入sql之后,对表应用索引。这可能吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43199
 
858 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Erik Rothoff
Reply   •   1 楼
Erik Rothoff    4 年前

--disable-keys 仅适用于Myisam表。我已经做了很多搜索,但没有找到任何类似的方法来为innodb做这件事。

我所做的就是利用 hexedit ,出版社 Tab 类型 / 表的名称,当它找到 CREATE TABLE 对于引起问题的大表,我导航到 PRIMARY KEY / UNIQUE KEY / KEY 其次,用空格替换所有索引。保存文件后,加载转储,然后立即手动重新创建相同的索引。对于我的数据(150GB和15亿行),需要5个小时而不是15个小时。

Rick James
Reply   •   2 楼
Rick James    5 年前

mysqldump 博士:

--禁用键,-k

对于每个表,用/*!40000个alter table tbl_name禁用密钥 ;和/ !40000 alter table tbl_name enable keys*/;语句。这使得加载转储文件更快,因为索引是在插入所有行之后创建的。此选项仅对myisam表的非唯一索引有效。对其他桌子没有影响。