加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 快速导出_Mysql 大量数据快速导出

发布时间:2022-10-15 10:59:59 所属栏目:MySql教程 来源:
导读:  mysqldump-uroot-p-q-e-twebgps4dn_location2>dn_location2.sql

  mysqldump-uroot-p-q-e-t--single-transactionwebgps4dn_location2>dn_location2.sql

  sourcedn_location2.sql

  以上是导入
  mysqldump-uroot-p-q-e-twebgps4dn_location2>dn_location2.sql
 
  mysqldump-uroot-p-q-e-t--single-transactionwebgps4dn_location2>dn_location2.sql
 
  sourcedn_location2.sql
 
  以上是导入导出数据的语句,该方法15分钟导出1.6亿条记录,导出的文件中平均7070条记录拼成一个insert语句,通过source进行批量插入,导入1.6亿条数据耗时将近5小时。平均速度:3200W条/h。后来尝试加上--single-transaction参数,结果影响不大。另外MySQL 导出数据,若在导出时增加-w参数,表示对导出数据进行筛选,那么导入导出的速度基本不变,筛选出的数据量越大,时间越慢而已。对于其中的参数这里进行说明:
 
  –quick,-q
 
  该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
 
  --extended-insert, -e
 
  使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。
 
  --single-transaction
 
  该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。在本例子中没有起到加快速度的作用
 
  mysqldump -uroot -p --host=localhost --all-databases --single-transaction
 
  -t仅导出表数据,不导出表结构
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!