zoukankan      html  css  js  c++  java
  • JDBC 性能调优

    测试指标: 

    . 每次都创建connection 不使用transaction

    . 使用connection pool,不使用transaction

    .使用connection pool 使用transaction 

    主键选择中:

    1. 最原始jDBC操作,没有连接池、事务等

    2. 使用连接池

    3. 使用连接池+事务  

    4. 使用proxool+连接池

    JDBC JDBC POOL JDBC POOL + TRANSACTION PROXOOL PROXOOL + CONNECTION POOL PROXOOOL+POOL+STATEMENT PROXOOL+POOL+STATEMENT+TRANSACTION3709.4 201.5 196.9 371.8 306.2 231.3 228.1

    结论:

    1. 使用连接池性能非常高

    2. statement没有什么用

    3. 事务没有什么用。

    4.proxool和自己写连接池性能差不多。自己的好一点。 201.5<>371.8 提高接近50%。

    http://news.newhua.com/news1/program_other/2008/123/08123112858FCFK674B395H62JJK7F8.html

      1.选择正确的jdbc驱动程序

      2.Connention的优化 使用连接池来管理Connection对象

      3.Statement的优化 使用批量更新等

      4.Result的优化 正确的从数据库中get数据等

     

    1. 使用连接池:

    测试使用了proxool,效果不明显,不是一个数量级别的提高。(在单线程中) 

     

    2. 使用setAutoCommit(false)

    能极大提高性能,特别是大数据量的一次性操作

     

    3.  事务隔离级别

    较难通用使用

     

    4. 使用batch

    测试发现效果不明显。没有一个数量及提高。 

     

    基本上来看,在单线程中,开启了事务性能最高。

     

    在多线程中,使用连接池性能最高。 

    -------------------------

     小结:

    1. 在查询中,使用connectionpool性能最高

    2. 在insert等使用transaction性能最高。

  • 相关阅读:
    linux系统之tr命令
    Tmux会话-基本操作及原理
    [题解] P1552 [APIO2012]派遣
    数论学习笔记
    Splay 学习笔记
    SpringCloud---入门篇(1)
    获小黄杉有感
    2020湖湘杯-CRYPTO-简单的密码3 WriteUp (CBC字节翻转)
    ECC椭圆曲线加密算法—加解密(SageMath实现)
    栅栏密码&W型栅栏密码-加解密(python实现)
  • 原文地址:https://www.cnblogs.com/zc22/p/1775191.html
Copyright © 2011-2022 走看看