社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

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

hobbydev • 5 年前 • 1599 次点击  

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

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

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

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

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

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

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

Rick James
Reply   •   2 楼
Rick James    6 年前

mysqldump 博士:

--禁用键,-k

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