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

mas*_*ini 15 sql-server jtds

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

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

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

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

Ric*_*kNZ 5

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

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

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