如何处理mysqldump创建的巨大行长度
我在cron作业中使用mysqldump" title="mysqldump">mysqldump备份了超过200万行的数据库。
它会创建一个文本文件,该文件可用于从命令行还原数据日志。
我认为在还原之前编辑转储将是有用的,这是一种 快速 更改值和表或列名的方法-至少要等到我了解更多并对使用ALTER和UPDATE做到这一点充满信心为止。
编辑大型文本文件不会打扰我,但是我惊讶地发现,在数据库的 转储中, 。每行的长度约为80万个字符。
还有另一种生成转储的方式,可以更好地控制行长吗?
还是应该使用sed或Perl之类的工具对转储进行后处理?
回答:
默认情况下, 每个表mysqldump
仅生成一个INSERT
命令,从而为每个转储的 表
生成一行(很长)的插入数据。这实质上是因为“批”插入比INSERT
为每个表中的每个记录生成单独的查询要快得多。
因此,并不是mysqldump
创建任意长的行,而是可以加上其他截止长度。排长是有原因的。
如果将INSERT
s分解成多行是非常重要的,则可以使用以下命令表明这一点:
mysqldump --extended-insert=FALSE --complete-insert=TRUE ...
但是请注意,以这种格式恢复表将花费更长的时间。
以上是 如何处理mysqldump创建的巨大行长度 的全部内容, 来源链接: utcz.com/qa/399507.html