mysq优化之(快速复制一张大数据的表)

本文介绍了两种高效复制大数据表的方法:先导出再导入,利用LOAD DATA INFILE,关闭唯一验证和自动提交,实现快速导入;二是蠕虫复制,同样关闭唯一验证和自动提交,针对InnoDB存储引擎,能在短时间内复制大量数据。
摘要由CSDN通过智能技术生成

方式一:先导出、再导入(关闭唯一验证、关闭自动提交、使用LOAD DATA INFILE)

 SELECT * INTO OUTFILE 'D:\\d_paid.txt' FROM d_paid
 LOAD DATA INFILE 'D:\\d_paid.txt' INTO TABLE d_paid2

导出花费时间:

导入花费时间:

一千万条数据只花了两分多钟,这里忘记截图了(关闭了自动提交、关闭了唯一性检查、load比传统的insert效率高很多)。

方式二:蠕虫复制(关闭唯一验证、关闭自动提交、复制自身数据)

蠕虫复制500万条数据只要1分多钟的优化方式(InnoDB存储引擎)。

 -- 关闭自动提交
 SET  AUTOCOMMIT=0
 -- 关闭唯一性检查
 SET  UNIQUE_CHECKS=0

导完数据记得改回去。

测试结果:

 数据库从500万条数据瞬间到达1000万条数据了。

 

再记录一下表结构复制的语句:

 CREATE TABLE d_paid2 LIKE d_paid

 

MySQL Workbench是一款常用的数据库管理工具,用于与MySQL数据库交互并进行各种操作,包括创建。 下面以一个示例来说明如何使用MySQL Workbench创建一张。 首先,在MySQL Workbench的“SCHEMAS”选项卡下选择一个数据库,然后右键点击该数据库,在弹出的菜单中选择“Create Table”选项。 接下来,在弹出的“Create Table”窗口中,我们需要填写的结构信息。 第一步,填写的名称,例如我们可以命名为“students”。 第二步,填写的各个字段,包括字段名、数据类型、长度、是否允许为空等。比如我们可以添加“id”字段,其类型为INT,长度为11,同时设置其为主键;再添加“name”字段,其类型为VARCHAR,长度为50,允许为空。可以根据实际需求添加更多字段。 第三步,填写的索引信息,包括主键、唯一索引、普通索引等。可以根据实际需求选择添加索引。 最后,点击“Apply”按钮应用更改,即可创建完成该。 通过以上步骤,我们就成功创建了一张。可以在MySQL Workbench的“SCHEMAS”选项卡下的对应数据库中查看已创建的的结构和数据。 需要注意的是,在创建时,还可以设置的约束、默认值、注释等,这些选项可以根据具体需求进行设置。另外,MySQL Workbench还提供了更多的功能和操作方式,可以进行数据录入、数据查询、数据修改等操作,可以根据实际需求进行配置和使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值