批量插入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 驱动下载 版本:jconn4-7.5.jar
Sybase数据库jdbc驱动,Sybase数据库jdbc驱动
Sybase ASE 16 jdbc驱动包 jdbc4-1.6.0_03_26972.jar
Syabse ASE JDBC,sybase数据库JDBC驱动程序,包括jconn2.jar、jconn3.jar、jtds-1.2.4.jar、JDBC for sybase.txt
需要使用jdbc连接sybase数据库的同学们可以下载使用了
Sybase (ASE) jdbc 官方驱动包 (最新版), 支持ASE15.x, ASE16.x 兼容过去老版本的ASE. 用于正式的产品环境。与开源的jtds还是有区别的。 使用说明 : 将jdbc4_jdbc3.zip解压开来,使用jdbc4.jar即可。jdbc3.jar用于...
提供一个简单的使用Jdbc连接Sybase数据库,具体实例为: Class.forName("com.sybase.jdbc2.jdbc.SybDriver"); String url ="jdbc:sybase:Tds:IP:2638/Database"; Connection conn = DriverManager.getConnection...
jconn4驱动包,sybase驱动, java连接sybase驱动包
一个使用JDBC的简单的用java连接Sybase数据库的例子
sybase jdbc 驱动 用于使用jdbc方式连接到sybase ASE sql server
sybase 驱动 sybase 驱动 JDBC
大赠送 资源共享 实在看不惯某些人连个数据库连接驱动也要资源分,但是没有0分的设置 sybase数据库jdbc驱动jconn4
jTDS - SQL Server and Sybase JDBC driver 1.2.2 正式版 <br>一个Microsoft SQL Server数据库的Jdbc driver。开源的非常好用。 下载地址:http://jtds.sourceforge.net/<br><br><br>
JDBC-ODBC dirver for Sybase.
mysql、sql server、sybase等数据库的jdbc驱动jar
sybase-jdbc2-service.xml
jdbc驱动jdbc驱动jdbc驱动jdbc驱动
本文介绍了解决Sybase JDBC DRIVER出现的问题的方法。
Java for sybase driver jconn4 jConnect 7.0.7
Sybase JDBC最新驱动,带连接池