一个问题
时间:2011-12-26
来源:互联网
mysqldump -uroot -p123 test tb1 >/home/z.txt
在生成的z.txt里面,会有1个或多个insert into语句。
问题:
dump文件里面的insert语句的个数由什么决定的?现在知道肯定不是记录条数,和记录的字段类型有关系。
作者: zuoxingyu 发布时间: 2011-12-26
原来1M,备份出来有45个INSERT语句
改成2M,重启服务,备份出来,还是45个INSERT语句
作者: zuoxingyu 发布时间: 2011-12-26
刚才找了几个单表备份的文件,文件大小除以insert个数=1M
cat xxxxx | grep -i 'insert into' | wc -l
作者: rucypli 发布时间: 2011-12-26
应该是1M大小一个insert
刚才找了几个单表备份的文件,文件大小除以insert个数=1M
cat xxxxx | grep -i 'insert into' | wc -l
我测试时用varchar类型的字段,单字段表测试,也是1M每个INSERT
但是2字段的int类型的表,就不是1M了,是667K一个INSERT.
作者: zuoxingyu 发布时间: 2011-12-26
作者: rucypli 发布时间: 2011-12-26
应该是mysqldump --net_buffer_length这个参数控制的
顶!
把源码这个判断的段落截出来。
SQL code
if (extended_insert) { ulong row_length; dynstr_append_checked(&extended_row,")"); row_length= 2 + extended_row.length; if (total_length + row_length < opt_net_buffer_length) { total_length+= row_length; fputc(',',md_result_file); /* Always row break */ fputs(extended_row.str,md_result_file); } else { if (row_break) fputs(";\n", md_result_file); row_break=1; /* This is first row */ fputs(insert_pat.str,md_result_file); fputs(extended_row.str,md_result_file); total_length= row_length+init_length; } check_io(md_result_file); }
作者: zuoxingyu 发布时间: 2011-12-26
作者: mr_mablevi 发布时间: 2011-12-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28