本例背景为: 用PDI(Kettle) 向Mysql数据库导入大量的日志分析数据,开始导入的速度300+r/s,

通过设置如下JDBC的连接参数,明显提升了写入的速度。

useServerPrepStmts=false

rewriteBatchedStatements=true

useCompression=true

原理参考 :http://forums.pentaho.com/showthread.php?142217-Table-Output-Performance-MySQL#9

To remedy this, in PDI I create a separate, specialized Database Connection I use for batch inserts. Set these two MySQL-specific options on your Database Connection:

useServerPrepStmts false
rewriteBatchedStatements true

Used together, these "fake" batch inserts on the client. Specificially, the insert statements:

INSERT INTO t (c1,c2) VALUES ('One',1);
INSERT INTO t (c1,c2) VALUES ('Two',2);
INSERT INTO t (c1,c2) VALUES ('Three',3);

will be rewritten into:

INSERT INTO t (c1,c2) VALUES ('One',1),('Two',2),('Three',3);

So that the batched rows will be inserted with one statement (and one network round-trip). With this simple change, Table Output is very fast and close to performance of the bulk loader steps.

转载于:https://blog.51cto.com/fuqiang82/1628093

PDI(Kettle)加速插入数据的速度相关推荐

  1. 4、提高插入数据的速度

    在 MySQL 中,向数据表插入数据时,索引.唯一性检查.数据大小是影响插入速度的主要因素.本节将介绍优化插入数据速度的几种方法. 根据不同情况,可以分别进行优化. 对于 MyISAM 引擎的表,常见 ...

  2. 数据库设计的核心原则 外键的设计 提高插入数据速度

    大道至简:数据库设计的核心原则 数据库设计,不得不承认,有很多专业化的理论知识,但是对于初学者来说,只需要大道至简的原则就可以了. 能不重复的就不重复,太重复的就拆开,使用指定数据做识别. 外键的设计 ...

  3. oracle 压缩 插入速度,求助大佬:向压缩表插入数据,压缩未生效

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 建表语句: create table ODS_M_ACC_BILL(month_id varchar2(6),...) compress PARTITIO ...

  4. mysql2013年8月怎么打出来_2020年8月31日,上周完成了一个查询接口来检查mysql的数据,速度很慢,20200831,从,MySQL,中查,贼...

    2020-08-31 上周完成一个查询接口,从MySQL中查数据,速度贼慢, 原因是数据5000万+,所以真正接触优化的机会来了,所以决定好好研究一下,做一个记录. 事情是这样的,mysql表中只有两 ...

  5. (五十二)大白话不断在表中插入数据时,物理存储是如何进行页分裂的?

    上回我们讲到了数据页的物理存储结构,数据页之间是组成双向链表的,数据页内部的数据行是组成单向链表的,每个数据页内根据主键做了一个页目录 然后一般来说,你没有索引的情况下,所有的数据查询,其实在物理层面 ...

  6. MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表

    1. 组合查询 1.表的加减法 表的加法,即求 product 和 product2 的并集,UNION 运算会除去重复的记录 SELECT product_id, product_name FROM ...

  7. MySQL如何快速插入数据

    前言: 日常学习和工作中,经常会遇到导数据的需求.比如数据迁移.数据恢复.新建从库等,这些操作可能都会涉及大量数据的导入 有时候导入进度慢,电脑风扇狂转真的很让人崩溃,其实有些小技巧是可以让导入更快速 ...

  8. mysql innodb myisam 插入数据_mysql innodb换成myisam后插入数据变快?

    myisam没有事务支持,它的连续的插入和查询速度都比Innodb快很多,但是如果需要插入和查询穿插着来,那么myisam是表锁,innodb是行锁,innodb的并发性好,并且innodb是支持事务 ...

  9. .NET Excel 2003 批量插入数据很慢的解决办法

    .Net利用Office组件的操作Excel批量插入数据据的时候,会非常慢. 我也曾经想利用其它组件来实现这个功能,但是效果不是很理想.后来经过查阅资料,发现Excel.Range的Value属性是O ...

最新文章

  1. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式...
  2. Ubuntu中使用WPS
  3. Python之functools.reduce使用
  4. boost::function用法的测试程序
  5. 编译原理:用lex/flex做词法分析
  6. SQL获取上个月的第一天最后一天datetime
  7. 【Kettle】第一篇,Pan 的使用
  8. opencv threshold_OpenCV致幻
  9. android 可拖拽View的简单实现
  10. Shortest Prefixes(poj 2001)
  11. 高频电子线路实验 03 - | 环形混频与直接调频
  12. 世界地图可以无限放大_不敢相信!世界地图,你竟然骗了我这么多年...
  13. 系统软件版本变更规范
  14. 可靠性 可用性 可维护性
  15. Python带你进入现代人的绝境
  16. 关于5G,四大运营商说......
  17. php 获取视频首帧,PHP获取视频的第一帧与时长
  18. java冒泡排序实现思路_054-冒泡排序算法思路图解
  19. 韩信点兵(C语言实现)
  20. 利用spring boot 写一个稳定的爬虫

热门文章

  1. poj 1502 单源最短路径
  2. linux基础命令学习之mv(7)
  3. 网页防篡改测试报告(2008版)
  4. 3D程序运行在服务器上 VirtualGL
  5. jquery. Validator验证框架ajax返回json数据
  6. java wsdl反向生成源码,并使用CXF实现客户端调用代码
  7. zabbix3.2通过snmp v2采集Dell服务器iDRAC口信息监控硬件
  8. 剑指offer——35复杂链表的复制
  9. [C语言]函数与调试
  10. C# 3.0新语言特性和改进(一)