为什么JTDS比Microsoft JDBC驱动程序更快?

时间:2011-10-21 10:34:04

标签: sql-server jtds

我们将JTDS和Microsoft SQL Server与JBoss上运行的Java EE应用程序进行比较,我们发现JTDS的速度提高了30%到50%,在高并发场景中对应用程序进行基准测试并保持完全相同的硬件/ SW但仅更改数据源配置中的驱动程序。

虽然我们已经看到很多有利于JTDS的选择,所以我们想要去做它我仍然很好奇:

  • 为什么 JTDS驱动程序要快得多?
  • 为什么Microsoft永远不会像JTDS那样更新其驱动程序?

使用最新的JDBC 3.0版本和最新的JTDS版本以及使用在具有专用SAN的16核心安装上运行的SQL Server 2008进行比较。

1 个答案:

答案 0 :(得分:5)

我做了类似的性能比较,结果相似。

性能差异有很多潜在原因。其中一些在驱动程序生成的T-SQL中可见,您可以使用SQL事件探查器查看。其他方面更加微妙,例如连接管理以及底层协议(TDS)的实现方式。

我无法确定为什么MS从未更新过他们的驱动程序,但我怀疑它的一部分是因为Java被认为是一个有竞争力的产品/平台。