前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysqldump -extended-insert参数的使用

mysqldump -extended-insert参数的使用

作者头像
保持热爱奔赴山海
发布2019-09-18 14:41:36
1.2K0
发布2019-09-18 14:41:36
举报
文章被收录于专栏:饮水机管理员饮水机管理员

mysqldump 的 --extended-insert 表示长INSERT,多row在一起批量INSERT,提高导入效率,和没有开启 -e 的备份导入耗时至少相差3、4倍,默认开启;用--extended-insert=false关闭。强烈建议开启,

使用--extended-insert=false导出的表如下图这种,每行一个insert语句。

wKioL1d7ZkrQSREYAABEgooZSs4357.png
wKioL1d7ZkrQSREYAABEgooZSs4357.png

使用--extended-insert=true导出的表如下图这种,一个很长的insert语句。

wKioL1d7Zo-T52crAAAyVmvjsmM570.png
wKioL1d7Zo-T52crAAAyVmvjsmM570.png

下图是两种方式的导出数据库,可以看出--extended-insert=true的时候,耗时较少。因为我的这个库很小,所以两种方式对比起来不明显。

对于大型数据库,这2种方式的差距还是很大的。好在默认mysqldump就是启用--extended-insert=true参数的。

wKiom1d7ZkrwSUZiAAAjh59gbtI452.png
wKiom1d7ZkrwSUZiAAAjh59gbtI452.png

除了导出数据库时候这个参数会产生影响,导入的时候也是有影响的。直接看下图:

wKiom1d7arDzh07OAAAqCQlDncw770.png
wKiom1d7arDzh07OAAAqCQlDncw770.png

那么使用--extended-insert=false导出表是不是一无是处呢?

并非如此。比如数据库中表中已经存在大量数据,那么再往表中导入数据时,如果出现主键数据冲突Duplicate key error,将会导致导入操作失败,但此时如果是使用--extended-insert=false导出表,导入时主键冲突的会报错Duplicate key error,但不冲突的数据仍然能正常导入。【个人感觉这个不常出现,因为我们每次导出都是加-B参数的,导出sql语句里面有DROP TABLE IF EXISTS `TABLE1`;】

参考博客:http://blog.csdn.net/hw_libo/article/details/39583247

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-07-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档