PEFORMANCES -SQL SERVER EXPRESS VS. MYSQL-

martedì 05 gennaio 2010 - 13.10

enricovirg Profilo | Newbie

Premetto che ho sempre usato SQLServer ma "Ingolosito" dai pareri molto positivi sulle perfomances di MySQL ho speso 1 oretta del mio tempo per fare un test e per valutare se sia o meno il caso di utlizzarlo realmente nella mie applicazioni...
Una semplice applicazione .NET che inserisce 3000 records in una tabella.

Il codice che ho usato è un semplice ciclo FOR:
for i = 1 to 3000
'apro la connessione al database
'eseguo la stringa sql di INSERT
'chiudo la connessione al database
next

Per il test ho utilizzato (database e applicazione sulla stessa macchina) :
MYSQL 5.1 e MySQL Connector/Net 6.2
SQLSERVEREXPRESS e System.Data.SqlClient

Bè...questi i risultati:
MYSQL 3000 records = 7 secondi
SQLSERVER 3000 records = 3 secondi

La cosa però che mi ha reso perplesso è che con MYSQL le prestazioni aumentanto a dismisura se racchiudo il ciclo di inserimento
all'interno di una singola TRANSAZIONE
es.

'Apro connessione al database
'Apro Transazione
For i =1 to 3000
'eseguo la stringa sql di INSERT
Next
'Commit della transazione
'Chiudo connessione al database

In questo modo ci impiega circa 2 secondi, qundi meno di SQLServer...
Mentre lo stesso codice con SQLServer non porta a nessun vantaggio.

i Commenti son graditi !

alx_81 Profilo | Guru

>i Commenti son graditi !
Sinceramente è un po' difficile fare una stima così, nel senso che bisognerebbe capire dove mysql rallenta, dove sql server ci perde, come sono fatte le librerie di interfacciamento al database, come viene usato il provider, ecc.
Inoltre, per testare forse dovresti usare direttamente il database con uno script sql, evitando il livello di ADO.Net. E poi, dovresti inserire molte più righe, ad esempio 5 milioni.. per dare tempi un po' più parlanti
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5