从Excel导数据到MySQL速度优化
运行环境: Windows10 和 Deepin15.7, MySQL14.4, Java1.8.0_181
使用工具: poi,JDBC
数据规模: 35万条,5个文件夹,146个Excel文件(.xls,.xlsx)
一开始在win10里运行,需要3个小时,把我吓到了,当时也没多想,导完数据就做处理去了。
后来到deepin里导(电脑装的双系统),同样的数据,同样的代码,只需要100秒左右,又把我吓到了,这差距咋这么大呢。虽然deepin装在固态里,但也不至于直接差了整整一百倍吧。
然后我就又回到win10,想着做一下优化,看能不能快点,因为在网上看到有说把日志关了会快一些。我试了下,时间一下子提高到160多秒!好吧,原来就是日志的问题。
然后我又把deepin里MySQL的日志开启,测试了一下,974454ms,约16分钟,还是比win10快不少的。
MySQL在win10里默认日志开启,而deepin里默认日志关闭。
win10的MySQL日志关闭方法:
* 找到my.ini文件,在里面加入一行:skip-log-bin,保存关闭,重启MySQL服务。
deepin的MySQL日志开启方法:
* `sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
* ` 找到里面的`server-id`和`log_bin`这两行,把前面的#删掉
* 回到上一层路径,执行`./debian-start`(这一步是必须的,一开始我没执行,仅修改上面的两行后,mysql服务开启不了)
* `sevice mysql restart` 重启MySQL服务
当然,除了关闭日志,我还做了其他的优化,比如String改为StringBuffer,Statement改为PreparedStatement等,不过这些都提高不明显。
https://wmjtxt.github.io/2018-10-17-importDatatoMySQL/
从Excel导数据到MySQL速度优化的更多相关文章
- Excel表格数据导入MySQL数据库
有时候项目需要将存在表格中的批量数据导入数据库,最近自己正好碰到了,总结一下: 1.将excel表格另存为.csv格式文件,excel本身的.xlsx格式导入时可能会报错,为了避免不必要的格式错误,直 ...
- JDBC批处理读取指定Excel中数据到Mysql关系型数据库
这个demo是有一个Excel中的数据,我需要读取其中的数据然后导入到关系型数据库中,但是为了向数据库中插入更多的数据,循环N次Excel中的结果. 关于JDBC的批处理还可以参考我总结的如下博文: ...
- java读取excel文件数据导入mysql数据库
这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...
- asp.net中TreeView的大数据加载速度优化
由于数据量太大,加载树时间很长,所以进行了优化 前台 .aspx <asp:Panel ID="Panel2" runat="server" Height ...
- Mssql数据库与Excel导数据
*.xls 2003的excel有行数限制,65535行好像,所以数据库行数多的时候,选择导出为*.xlsx文件 要装一下Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎) ...
- PHP Excel导入数据到MySQL数据库
数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按 ...
- 使用phpExcel批量上传excel表数据到mysql数据库中
/*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...
- Excel表格数据导入Mysql数据库的方法
1.使用Navicat 连接需要导入的数据库. 2.excel 列的名字最好和数据库的名字一致,便于我们直观的查看好理解. 第一步,先创建好表,和准备好对应的excel文件.在Navicat 中选 ...
- 将 excel文件数据导入MySQL数据库中
第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创 ...
随机推荐
- Element-UI标签页el-tabs组件的拖动排序实现
ElementUI的标签页组件支持动态添加删除,如下图: 但是这个组件不支持标签之间的拖动排序.那么我们自己怎样实现这个功能呢? 有一个叫vuedraggable的组件(https://github. ...
- [经验交流] kubernetes v1.11 更新了高可用方案
kubernetes v1.11已经发布了一段时间,和以前相比,一个显著亮点是更新了高可用方案: https://kubernetes.io/docs/setup/independent/high-a ...
- Mac本地搭建kubernetes环境
前言:之前在windows上面的虚拟机上面手工搭建了kubernetes集群,但是环境被破坏了,最近想要继续学习k8s,手工搭建太费事,所以选择了minikube,完全能够满足个人的需求,其实在Win ...
- iframe 加form提交数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- centOS6.5 mysql-community-server安装失败
卸载mysql,重新装 yum install mysql-server 图中没有放卸载的图 [root@cgrctenOS6 ~]# yum install mysql-community-serv ...
- ssh登录,爬坑系列
最近在实验室弄ssh登录,结果被虐了,要注意以下: 1.主机名不能包括 - _ ! 等非法字符. 2.如果hadoop格式化时,报:“SHUTDOWN_MSG: Shutting ...
- C#截取用户的点击事件的代码
在代码过程中中,把做工程过程中常用的代码备份一下,如下代码内容是关于C#截取用户的点击事件的代码,应该是对大家也有好处. private void SomeControl_KeyDown(object ...
- .net基础学java系列(六)Java基础
一.废话 .net学java为何一直没入坑?其实大家都知道,语法很相似,就是使用的习惯不同 稍微的语法差异 结构体系不同 IDE不同 类库集不同 各种框架不同 对于我来说,我一直被第三道坎拦住了,所以 ...
- [原创]windows 部署SS server 出现的错误.
安装过程: .Download and install Python MSI installer in 64bit Windows. .During installation you should i ...
- 小程序-canvas在IOS手机层级最高无法展示问题
要求的效果: 正面: 背面: 在开发者工具 利用css 和定位实现了一个版本 .topBox.on { transform:rotateY(180deg); } .topBox { position: ...