`
susiya
  • 浏览: 91101 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sybase 提升jdbc批量插入性能的方法

 
阅读更多
批量插入sybase数据库的方法我目前想到两个,一个是如果装有sybase客户端,可以使用它的BCP,这个性能提升比较明显。而如果没有,可以使用jdbc批量插入,同时使用sybase的jdbc jar包--jconnect自带的参数设置,也可以显著提升性能。jdbc 批量插入的写法就不多说了,这里说一下提升性能的参数吧。

1.ENABLE_BULK_LOAD
对于jConnect 6.05和7.0版本的,当把这个参数设为true时,性能可以提升几十倍。一秒存入10K的数据量应该是没问题的。具体BCP的原理是什么,欢迎大家拍砖哈。这里给出执行executeBatch时的栈信息,可以看到jConnect会使用BCP插入数据。

at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2475)
        at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2313)
        at com.sybase.jdbc4.jdbc.SybBCP.bcpSendRow(SybBCP.java:1093)
        at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeBulkBatch(SybPreparedStatement.java:1261)
        at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeBatch(SybPreparedStatement.java:1291)

限制:使用这个参数需要Adaptive Server 12.5.2版本以上,且jConnect需要6.05版本以上,且以下参数暂不支持:
unsigned types, bigint, and unitext
encrypted columns and computed columns

当升级到jConnect 7.07时ENABLE_BULK_LOAD的取值有所变化,取值范围有4个:
a.ARRAYINSERT_WITH_MIXED_STATEMENTS 行级记录,当bulk load时可以同时执行别的语句
b.ARRAYINSERT 行级记录,当bulk load时不允许执行别的语句
c.BCP 块级记录,当bulk load时不允许执行别的语句
d.LOG_BCP 块级记录,用的是ASE BCP快速log的功能

2.DYNAMIC_PREPARE
当值为true时,执行语句会预编译在数据库缓存中,这样也能显著提高性能。
分享到:
评论

相关推荐

    sybase 数据库 jdbc 驱动下载

    Java Database Connectivity (JDBC) 是Java编程语言与各种数据库交互的标准接口,它使得Java程序员能够方便地连接到Sybase数据库进行数据操作。在本文中,我们将深入探讨Sybase数据库与JDBC驱动的相关知识点。 首先...

    sybase数据库jdbc驱动jar包

    然后,使用`DriverManager.getConnection()`方法建立到Sybase数据库的连接。 需要注意的是,为了确保连接的稳定性和安全性,建议使用连接池来管理数据库连接。常见的连接池工具有C3P0、DBCP、HikariCP等,它们可以...

    Sybase数据库JDBC驱动(包括2版和3版)

    Sybase ASE(Adaptive ...总之,这个压缩包提供了多种方式连接到Sybase ASE数据库,开发者可以根据项目需求和性能要求选择合适的JDBC驱动。同时,理解JDBC的基本概念和用法对于任何Java数据库编程来说都是至关重要的。

    Sybase数据库jdbc驱动

    Sybase数据库jdbc驱动,Sybase数据库jdbc驱动

    jconn4 jdbc连接sybase驱动

    `jconn4`是Sybase公司提供的一种JDBC(Java Database Connectivity)驱动,主要用于帮助Java应用程序与Sybase数据库进行交互。本文将深入探讨`jconn4`驱动、其在Sybase环境中的作用以及如何使用它来建立Java到Sybase...

    Sybase JDBC4最新驱动

    Sybase JDBC最新驱动,带连接池

    JDBC_Sybase.zip_jdbc Sybase _sybase _sybase jdbc_sybase jdbc dow

    标题中的“JDBC_Sybase.zip_jdbc Sybase _sybase _sybase jdbc_sybase jdbc dow”表明这是一个关于使用Java JDBC连接Sybase数据库的资源包。这个压缩文件可能包含了示例代码、数据库文件以及相关说明文档,帮助...

    sybase 驱动 JDBC

    sybase 驱动 sybase 驱动 JDBC

    sybase数据库jdbc驱动jconn4

    大赠送 资源共享 实在看不惯某些人连个数据库连接驱动也要资源分,但是没有0分的设置 sybase数据库jdbc驱动jconn4

    Sybase ASE 16.0 jdbc驱动包 jdbc4-1.6.0_03_26972.jar

    Sybase ASE 16 jdbc驱动包 jdbc4-1.6.0_03_26972.jar

    Sybase (ASE) jdbc 官方驱动包 (最新版)

    Sybase (ASE) jdbc 官方驱动包 (最新版), 支持ASE15.x, ASE16.x 兼容过去老版本的ASE. 用于正式的产品环境。与开源的jtds还是有区别的。 使用说明 : 将jdbc4_jdbc3.zip解压开来,使用jdbc4.jar即可。jdbc3.jar用于...

    mysql、sql server、sybase的jdbc驱动jar

    本篇文章将深入探讨MySQL、SQL Server和Sybase这三种数据库的JDBC驱动,以及它们在Java应用程序中的使用。 1. MySQL JDBC驱动: MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用程序。MySQL的...

    java连接sybase jdbc驱动包,jconn2.jar,jconn3.jar,jconn4.jar

    Java连接Sybase数据库时,JDBC(Java Database Connectivity)驱动是不可或缺的一部分。JDBC驱动允许Java应用程序与各种数据库进行通信,包括Sybase。在提供的标题和描述中提到了三个不同版本的Sybase JDBC驱动包:...

    SyBase 7.0JDBC驱动

    提供一个简单的使用Jdbc连接Sybase数据库,具体实例为: Class.forName("com.sybase.jdbc2.jdbc.SybDriver"); String url ="jdbc:sybase:Tds:IP:2638/Database"; Connection conn = DriverManager.getConnection...

    sybase-jdbc-driver-12.0.jar

    jdbc驱动jdbc驱动jdbc驱动jdbc驱动

    sybase jdbc驱动

    sybase jdbc 驱动 用于使用jdbc方式连接到sybase ASE sql server

    sybase_jdbc_驱动

    总的来说,Sybase JDBC驱动是Java开发者连接Sybase数据库的重要工具,理解和熟练使用它可以提高开发效率,同时保证应用程序的稳定性和性能。在实际工作中,不断学习和实践,结合官方文档,可以更好地掌握这个驱动并...

    jconn4的jar连接sybase的jdbc驱动

    整整找了一下午,才找到的。下载人的需要三个积分,可是我只有一个,俗话说得好,一分钱难倒英雄汉,所以我在这里不为难广大开发者,也祝愿现在仍在使用sybase的公司蓬勃发展!

    Sybase数据库的jdbc驱动

    Sybase的jdbc驱动。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    jTDS - SQL Server and Sybase JDBC driver 1.2.2 正式版(含源码)

    jTDS - SQL Server and Sybase JDBC driver 1.2.2 正式版 <br>一个Microsoft SQL Server数据库的Jdbc driver。开源的非常好用。 下载地址:http://jtds.sourceforge.net/<br><br><br>

Global site tag (gtag.js) - Google Analytics