mysql怎么导千万数据 mysql导入1000万数据有什么方法?

mysql生成千万级数据

1.创建表

成都创新互联是专业的石龙网站建设公司,石龙接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行石龙网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

2.创建存储过程

3.调用存储过程

表结构很简单,只有 ID 和 uuid 两列

存储过程中的参数 i 是生成的数据条数

在调用存储过程时,出现的bug如下:

在执行插入操作30s时报错了

解决方案 :

选择 mysql workbench 下的 preferences ,如下:

点击 ok 后,清除之前插入的数据,重新登录 mysql workbench ,然后重新调用存储过程即可

怎么快速复制千万级的Mysql数据库表

我google了一下大概有一下几个方法,

1.复制表结构及数据到新表

CREATE TABLE 新表 SELECT * FROM 旧表

2.只复制表结构到新表

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2

即:让WHERE条件不成立.

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表 SELECT * FROM 旧表

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

批量向MySQL导入1000万条数据的优化

1.用start transaction关闭mysql的自动提交,合理设置插入批量大小,不要一条数据提交一次。

2.修改表的存储引擎InnoDB为MyISAM。(因为InnoDB中存在redo log日志,每次更新表的结果先写入redo log中,等redo log满了之后再写入磁盘而这个过程是会停止其他所有的事务)

3.优化SQL(一条SQL语句插入多条数据)

4.尽量顺序插入(存储引擎底层采用的数据结构是B+tree索引,如果每次插入记录都在索引的最后面,索引的定位效率很高,并且对索引调整较小;如果插入的记录在索引中间,则需要维护B+tree并且索引定位效率会下降,数据量较大时会有频繁的磁盘操作)


本文标题:mysql怎么导千万数据 mysql导入1000万数据有什么方法?
本文地址:http://bzwzjz.com/article/hijdeg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 企业网站设计 品牌网站建设 成都品牌网站建设 网站设计制作报价 网站设计 营销网站建设 网站制作 成都网站建设公司 成都网站建设公司 网站设计制作 高端网站建设 高端网站设计推广 外贸营销网站建设 成都网站制作 手机网站建设套餐 商城网站建设 梓潼网站设计 网站制作 手机网站制作 成都网站制作 成都网站设计制作公司 响应式网站设计