Before I ask this question I must state I love mySql and want to use it more.
But I work in a shop were we mostly use SQL Server 2000.  In trying to use
mySql (4.12 and 4.19) we are seeing some performance issues.  I hope 
someone can help me with this.  I am in a Windows 2003 server environment and
running mostly asp.net applications.

I have narrowed the problem down to the speed at which the database connections
open and close.   The following code opens a mySql database 100 times.
This takes 21 to 23 seconds.  I know I should only open the connection once
but this represents the asp environment where we are using a cluster of web
servers.  MySQL is running on an Athlon 64 3500+ with 2 gigs of memory. It is 
the
only process on the server.

The SQL server code below does the same thing except to Sql Server 2000.  This
only takes .1 to .4 seconds.   Sql Server is running on a PIII at 1.2ghz with 
1gb memory.  It's a crappy old box for testing.

I am using the stock Framework 1.1 SqlClient and MySql.Data.MySqlClient 
version  1.0.3.31712.  All test boxes are on the same network switch.

Can anyone help explain this difference?  Is it the database engines or the 
data connectors? Any help would be appreciated.

Thanks

Larry Lowry


'MySql Code
  Dim sDBCS As String = "Server=DB;UserId=userid;Password=pass;Database=images"
  Dim i As Long
  Dim ti As Long = Microsoft.VisualBasic.Timer()

  Dim db As MySqlConnection
  db = New MySqlConnection(sDBCS)
  For i = 1 To 100
    db.Open()
    db.Close()
  Next
  db.Dispose()
  tbEnd.Text = Microsoft.VisualBasic.Timer() - ti


  'SQL Server
  Dim sDBCS As String = "Data Source=db;User Id=userid;Password=pass;Initial 
Catalog=images"
  Dim i As Long
  Dim ti As Long = Microsoft.VisualBasic.Timer()

  Dim db As SqlConnection
  db = New SqlConnection(sDBCS)
  For i = 1 To 100
    db.Open()
    db.Close()
  Next
  db.Dispose()
  tbEnd.Text = Microsoft.VisualBasic.Timer() - ti

Reply via email to