首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Golang并发把excel数据插入数据库

= nil { return } _, err = io.Copy(localFile, res.Body) //把body里的内容复制本地excel文件 if err !...每次批量插入100条数据数据库 func InsertBatch(temp [][]string, length int) error { db := modelUtils.GetDB() //gorm...(path) //从excel读数据,data里存放的就是excel里除去顶部标题的数据 if err !...最终结果: 大概有40多万条数据,每5000条数据一个goroutine,那么大概需要80多个goroutine,总共花费的时间大概是1分钟,因为阿里云服务器为2核4G的性能,所以主要的性能瓶颈在于服务器上的数据库...,虽然开启的数据库池,但是单条数据插入时间是固定的 我还试了一下把同样40多万的数据插入亚马逊云的数据库,要16分钟左右,因为服务器在国外,所以受网络影响较大 image.png

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

thinkphp5.1中无法插入数据数据库

今天的解决的问题困扰了我几天了,期间问舍友也是没有搞清楚原理,现在回想起来,一部分的原因或许是hubilder的问题,暂时不清楚,但是今天我换成sublime text后验证器什么的都运行正常了,然而在注册数据插入数据库的地方还是会报...后面就想着request::post数据可以在控制台输出,那我就重写一个数组赋值上去,然后调用Db::table这样的类型将数据插入数据库中,但随后又发现验证器什么的都没有用了,逻辑混乱·····...最后的方法:查手册,添加数据里发现了 Db::name('zh_user')->strict(false)->insert($data); 不存在的字段会自动抛弃,试试,成功了!!...发现问题所在,基本就是数据库表和request回的数组不匹配的原因吧。。。

1.8K10

教你88秒插入1000万条数据mysql数据库

我用到的数据库为,mysql数据库5.7版本的 首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException...出现上面的错误是因为数据库表的 max_allowed_packet 这个配置没配置足够大,因为默认的为4M的,后来我调为100M就没报错了 set global max_allowed_packet...= 100*1024*1024* 记住,设置好后重新登录数据库才能看的设置后的值 show VARIABLES like '%max_allowed_packet%' 代码如下: package insert...// 结束时间 Long end = new Date().getTime(); // 耗时 System.out.println( "1000万条数据插入花费时间...: " + (end - begin) / 1000 + " s" ); System.out.println( "插入完成" ); } }

1.8K40

如何快速的插入 100W数据数据库,使用PreparedStatement 最快实现!

有时候,我们使用数据库的时候,如何快速的添加测试数据数据库中,做测试呢,添加100W 数据,如果使用工具的话可能很慢,这里我推荐大家使用 PreparedStatement 预编译 去进行操作: 单线程操作...,测试 只需要 20秒 如果字段少的话,可以几秒钟插入100w数据 public static void main(String[] args) { long start =.../2.注册驱动(mysql5之后的驱动jar包可以省略注册驱动的步骤) //Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连接对象...PreparedStatement pstmt = null; { try { //"&rewriteBatchedStatements=true",一次插入多条数据...Math.random()*1000000)+""); pstmt.addBatch(); } //7.往数据库插入一次数据

1.1K00

Prometheus时序数据库-数据插入

前言 在之前的文章里,笔者详细的阐述了Prometheus时序数据库在内存和磁盘中的存储结构。有了前面的铺垫,笔者就可以在本篇文章阐述下数据插入过程。...监控数据插入 在这里,笔者并不会去讨论Promtheus向各个Endpoint抓取数据的过程。而是仅仅围绕着数据是如何插入Prometheus的过程做下阐述。...同时还将这个数据点对应的memSeries同步增加到另一个sampleSeries里面。 事务可见性 为什么要这么做呢?就是为了实现commit语义,只有commit过后数据才可见(能被查询)。...最终落地是通过compator routine将每两个小时的数据打包一个Blocks里面。...具体可见笔者之前的博客《Prometheus时序数据库-磁盘中的存储结构》 总结 在这篇文章里,笔者详细描述了Prometheus数据插入过程。

1.4K00

盘点一个通过python大批量插入数据数据库的方法

一、前言 前几天在Python白银群【鶏啊鶏】问了一个Python数据存入数据库的问题,一起来看看吧。...各位大佬 我想请教下通过python大批量插入数据数据库的方法 目前我在用的操作是以下这个模式: sql='' for i in list: sql = "insert XXX表(地址,单号,缸号,...,想请问下各位大佬如果大批量插入的话应该用哪个方式更稳定点呢。...二、实现过程 这里【袁学东】给了一个解答,如下所示: 用pandas, 先将批量插入数据整理成dataframe,df.to_sql(table, index=False, con=self.engine...这篇文章主要盘点了一个Python数据数据库的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

41830

PHP读取excel插入mysql数据库

来看一段代码吧 建立一个数据库excel和一个study表 建立表代码如下: CREATE TABLE `excel` (   `id` int(11) NOT NULL auto_increment.../Study.xls’);  //read函数读取所需EXCEL表,支持中文 $conn= mysql_connect(‘localhost’, ‘root’, ‘joyous’) or die(“数据库连接出错了...;    //连接数据库 mysql_query(“set names ‘utf8′”);//设置编码输出 mysql_select_db(‘study’); //选择数据库 for ($i =...’;  $insert = mysql_query($sql);  //插入部分 注释掉,实际可以自己插入。...因为路径成败也是很大影响的 study文件夹包含了class文件夹(就是从那个压缩包解压出来的文件)、xls文件夹(里面是excel文件)、test.php文件 运行下text文件 然后看看数据库

8.2K40
领券