Почему JTDS быстрее, чем драйвер Microsoft JDBC? - PullRequest
15 голосов
/ 21 октября 2011

мы сравниваем JTDS и Microsoft SQL Server для приложения Java EE, работающего на JBoss, и обнаруживаем, что JTDS работает на 30–50% быстрее, тестируя приложение в сценарии с высокой степенью параллелизма и сохраняя точно такое же HW/ SW, но изменяя только драйвер в конфигурации источника данных.

Хотя мы увидели множество благоприятных вариантов для JTDS, и поэтому мы думаем пойти на это, мне все еще интересно:

  • Почему драйвер JTDS намного быстрее?
  • Почему Microsoft никогда не обновляла свой драйвер, чтобы быть быстрым, как JTDS?

Сравнение было сделаноиспользование последней версии JDBC 3.0 и последней версии JTDS и использование SQL Server 2008, работающего в 16-ядерной установке с выделенной SAN.

1 Ответ

5 голосов
/ 03 декабря 2011

Я провел аналогичные сравнения производительности с похожими результатами.

Существует множество потенциальных причин различий в производительности.Некоторые из них видны в T-SQL, сгенерированном драйвером, который вы можете увидеть с помощью SQL Profiler.Другие аспекты более тонкие, такие как управление соединением и то, как реализован базовый протокол (TDS).

Не могу точно сказать, почему MS никогда не обновляла свой драйвер, но я подозреваю, что егопотому что Java считается конкурентоспособным продуктом / платформой.

...