2011-10-21 19 views
14

stiamo confrontando JTDS e Microsoft SQL Server per un'applicazione Java EE in esecuzione su JBoss e stiamo scoprendo che JTDS è dal 30% al 50% più veloce, confrontando l'applicazione in uno scenario di concorrenza elevata e mantenendo esattamente lo stesso HW/SW ma modifica solo il driver nella configurazione dell'origine dati.Perché JTDS è più veloce del driver JDBC di Microsoft?

Mentre abbiamo visto un sacco di opzioni favorevoli verso jTDS e così stiamo pensando di andare per esso sono ancora curioso:

  • Perché è il driver jTDS modo molto più veloce?
  • Perché Microsoft non ha mai aggiornato il proprio driver per essere veloce come JTDS?

confronto è stato effettuato utilizzando l'ultima versione JDBC 3.0 e l'ultima versione jTDS e utilizzando uno SQL Server 2008 in esecuzione su un impianto di 16 core con SAN dedicato.

+0

Votato per chiudere perché nessuno qui potrebbe conoscere la risposta a questa domanda (a meno che non lavorassero per Microsoft e facessero parte del team che ha sviluppato il driver Microsoft) –

+2

Microsoft ha rilasciato una nuova versione il mese scorso. http://blogs.msdn.com/b/jdbcteam/archive/2012/03/06/microsoft-jdbc-driver-4-0-for-sql-server-released.aspx. Ho postato una domanda sul loro blog su questo argomento. Speriamo di sentire da loro. –

+0

Grazie per il vostro feedback. Siamo costantemente alla ricerca di modi per migliorare le prestazioni e la scalabilità del driver Microsoft JDBC per SQL Server. Vorresti fornirci più specifiche tramite la nostra pagina di contatto del blog? http://blogs.msdn.com/b/jdbcteam/contact.aspx Inoltre, hai confrontato il nostro ultimo driver: Microsoft JDBC Driver 4.0 per SQL Server utilizzando SQL Server 2012 con jTDS? –

risposta

5

Ho eseguito confronti di prestazioni simili, con risultati simili.

Ci sono molti potenziali motivi per le differenze di prestazioni. Alcuni di questi sono visibili nel T-SQL generato dal driver, che è possibile vedere con SQL Profiler. Altri aspetti sono più sottili, come la gestione delle connessioni e come viene implementato il protocollo sottostante (TDS).

Non posso dire con certezza perché MS non abbia mai aggiornato il proprio driver, ma sospetto che parte di esso sia dovuto al fatto che Java è considerato un prodotto/piattaforma competitivo.

Problemi correlati