教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang插入字符串_Mysql千万数据10秒批量插入只需简单三步

golang插入字符串_Mysql千万数据10秒批量插入只需简单三步

发布时间:2022-01-09   编辑:jiaochengji.com
教程集为您提供golang插入字符串,Mysql千万数据10秒批量插入只需简单三步等资源,欢迎您收藏本站,我们将为您提供最新的golang插入字符串,Mysql千万数据10秒批量插入只需简单三步资源

作者:师太,老衲把持不住了

原文:http://suo.im/4RYaVg

第一步:配置my.ini文件

文件中配置

bulk_insert_buffer_size=120M 或者更大

将insert语句的长度设为最大。

Max_allowed_packet=1M

Net_buffer_length=8k

保存

第二步:查看设置的参选有没有生效.

Mysql > SHOW VARIABLES;

bulk_insert_buffer_size默认是8M,我们要把它调成100M或百兆以上,也不要太大。下面看调整个好的,如下图:

第三步:完成设置后,批量插入数据时使用多条模式。

INSERT INTO table (field1,field2,field3) VALUES ('a',"b","c"), ('a',"b","c"),('a',"b","c");

将以上Mysql插入模式用php语言字符串拼接SQL方法如下,你也可转换Java,Python,Golang其它你用的最顺手的语言,将方法转换分享吧:

<pre class="has"><code>/**
* 多条数据同时转化成插入SQL语句
* @ CreatBy:IT
* @param string $table 表名
* @$arr_key是表字段名的key:$arr_key=array("field1","field2","field3")
* @param array $arr是字段值 数组示例 arrat(("a","b","c"), ("bbc","bbb","caaa"),('add',"bppp","cggg"))
* @return string
*/
function multArray2Insert($table,$arr_key, $arr, $split = '`') {
$arrValues = array();
if (empty($table) || !is_array($arr_key) || !is_array($arr)) {
return false;
}
$sql = "INSERT INTO %s( %s ) values %s ";
foreach ($arr as $k => $v) {
$arrValues[$k] = "'".implode("','",array_values($v))."'";
}
$sql = sprintf($sql, $table, "{$split}" . implode("{$split} ,{$split}", $arr_key) . "{$split}", "(" . implode(") , (", array_values($arrValues)) . ")");
return $sql;
}</code></pre>

以上方法调试过无误的,这段代码的返回字符串结果是INSERT INTO table (field1,field2,field3) VALUES ('a',"b","c"), ('a',"b","c"),('a',"b","c") ,做试验时用的普通配置的电脑是每秒1000条批量插入速度,千万条数据写的速度也非常快,新版本PHP语言数据处理能力很强大。如果你的电脑或服务器性能高,你可以调节$arr数组决定你插入多少条数据,灵活使用吧。

你可直接复制使用它,希望你能理解,若有问题请留言吧。

—>>>>>>>>>戳这有惊喜哦

正文结束

推荐阅读 ↓↓↓

1.9个你应该知道的支付系统开源项目

2.SpringBoot分布式秒杀系统项目实战【附源码】

3.“开发一个静态 HTML 页面,我要价 100000人民币,有?”

4.Spring Boot Vue Shiro 实现前后端分离、权限控制

5.5个鲜为人知的黑科技网站,强大到不敢想象

6.刚发工资给女朋友转账引发我对分布式事务的思考

7.疯了吧!面试官 5 连问一个 TCP 连接可以发多少个 HTTP 请求?

8.让web开发部署提速 8 倍的一款IDEA插件,我参与贡献了

到此这篇关于“golang插入字符串_Mysql千万数据10秒批量插入只需简单三步”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang插入字符串_Mysql千万数据10秒批量插入只需简单三步
Mysql insert语句的优化总结
Mysql大指量插入数据时SQL语句的优化
mysql语句中字符转义的方法举例
mysql批量插入(insert)与批量更新(update)的例子
分享8个PHP开发常用代码片段
php字符串-php入门教程(3)
java StringBuffer,StringBuilder,String自身连接效率对比
php生成订单号的解决方案
mysql 编码转换三种方法

[关闭]
~ ~