16

we're comparing JTDS and Microsoft SQL Server for a Java EE application running on JBoss and we're finding that JTDS is from 30% to 50% faster, benchmarking the application in a high concurrence scenario and keeping exactly the same HW/SW but changing only the driver in the datasource configuration.

While we've seen a lot of favorable options towards JTDS and so we're thinking to go for it I'm still curious:

  • Why is the JTDS driver so much faster?
  • Why Microsoft never updated its driver to be fast as JTDS?

Comparison was made using the latest JDBC 3.0 version and the latest JTDS version and using a SQL Server 2008 running on a 16 core installation with dedicated SAN.

John Saunders
  • 160,644
  • 26
  • 247
  • 397
massimogentilini
  • 4,102
  • 5
  • 29
  • 32
  • Voted to close because nobody here could possibly know the answer to that question (unless they worked for Microsoft and were on the team that developed the Microsoft driver) – John Saunders Dec 03 '11 at 03:59
  • 2
    Microsoft released a new version last month. http://blogs.msdn.com/b/jdbcteam/archive/2012/03/06/microsoft-jdbc-driver-4-0-for-sql-server-released.aspx. I posted a question on their blog about this topic. Lets hope to hear from them. – so_mv Apr 16 '12 at 05:59
  • Thanks for your feedback. We are continuously looking at ways to improve the performance and scalability of the Microsoft JDBC Driver for SQL Server. Would you like to provide us with more specifics via our blog contact page? http://blogs.msdn.com/b/jdbcteam/contact.aspx Also, have you compared our latest driver - Microsoft JDBC Driver 4.0 for SQL Server using SQL Server 2012 with jTDS? – Microsoft JDBC Driver Apr 16 '12 at 17:20
  • 1
    UPDATE: with latest releases of Microsoft driver the difference is now completely gone. – massimogentilini Jan 10 '16 at 11:50
  • @massimogentilini - it would be helpful if you could provide explanation of how you arrived at the conclusion that the differences are completely gone. We want to switch from jTDS because of the lack of support but are still skeptical of MS jdbc driver. TNX. – Nelda.techspiress Mar 17 '16 at 19:28

1 Answers1

5

I've done similar performance comparisons, with similar results.

There are many potential reasons for performance differences. Some of them are visible in the T-SQL generated by the driver, which you can see with SQL Profiler. Other aspects are more subtle, such as connection management and how the underlying protocol (TDS) is implemented.

I can't say for sure why MS has never updated their driver, but I suspect that part of it is because Java is considered to be a competitive product/platform.

RickNZ
  • 18,448
  • 3
  • 51
  • 66