今天进行教室信息整理数据入库的时候,因为更换了mysql服务器。导致数据插入速度极慢,因此需要调优——增大数据插入速度。所以考虑了一些方式 原本将近7分钟插入的数据只用不到三秒解决,下面是优化方式及结果
目录
mysql连接数优化
我们大家都知道MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。在使 用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。
1、查看最大连接数
show variables like '%max_connections%';
2、修改最大连接数
set GLOBAL max_connections = 16384;
kettle 数据库插入操作优化
mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
kettle 允许线程多开
我们可以采用分发的方式进行处理数据,涉及到数据库读写操作的请谨慎使用该方法。
适当提高数据集的大小
增加Java虚拟机内存
更改表输出提交记录数量