kettle配置提升读写性能

一、使用场景

        在多个数据库之间进行数据的抽取,转换,处理等

二、数据库配置

1.增加批量写的速度

        useServerPrepStmts=false (关闭服务器端编译,sql语句在客户端编译好再发送给服务器端,发送语句如上。如果为true,sql会采用占位符方式发送到服务器端,在服务器端再组装sql语句)

        rewriteBatchedStatements=true  (开启批量写功能)

        useCompression=true (压缩数据传输,优化客户端和MySQL服务器之间的通信性能。)

2. 增加读的速度

        useServerPrepStmts=true 

        cachePrepStmts=true

三、注意事项

        MySQL的JDBC连接的url中要加rewriteBatchedStatements参数,并保证5.1.13以上版本的驱动,才能实现高性能的批量插入。MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,批量插入实际上是单条插入,直接造成较低的性能。只有把rewriteBatchedStatements参数置为true, 驱动才会帮你批量执行SQL,另外这个选项对INSERT/UPDATE/DELETE都有效。

你可能感兴趣的:(数据库,etl)