Ado ile AdoNet Arasında Hız Testi
#1
Merhaba arkadaşlar;

Ado ile Ado.net arasında hız testi denemesi yaptım. Veriler Mdb den gelmektedir. 50.000 kayıt vardır. Ado ile Adonet arasında pek bir fark yakalayamadım ama unutmamak lazım ki bunu sadece select sorgusuyla yaptım insert, update ve delete ile de denemek lazım. Ayrıca vt olaral Sql server ve Firebird gibi diğer vt lerde de test etmek lazım.
Bende ado ve adonet süreleri 7000-10000 milisaniye arasında geldi hep.
Bu arada kullandığım bilgisayar Core i5 - 4 gb ram..
Not: Ado testinde listboxa verilerin hemen gelmesi sizi şaşırtmasın. Okudukça ekliyor çünkü. Listboxın altındaki süre etiketini bekleyiniz.
Ekteki örnekte exe ve mdb yi bulabilirsiniz.

Kaynak kodları da veriyorum. belki geliştirmek isteyenler olabilir..

vb.net
  1. Imports System.Data.OleDb
  2.  
  3. Public Class Form1
  4.  
  5.  
  6.  
  7. Public Function AdoNetExecute()
  8. Dim Baglanti As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
  9. & "Data Source=|DataDirectory|\Sirket.mdb;Persist Security Info=True"
  10. Dim SqlString As String = "SELECT * FROM Personel;"
  11.  
  12. Using connection As New OleDbConnection(Baglanti)
  13. Dim command As OleDbCommand = connection.CreateCommand()
  14. command.CommandText = SqlString
  15. Dim baslangic As DateTime = DateTime.Now
  16.  
  17. Try
  18. connection.Open()
  19. Dim dataReader As OleDbDataReader = _
  20. command.ExecuteReader()
  21. Do While dataReader.Read()
  22. LstAdoExec.Items.Add(dataReader(1))
  23.  
  24. Loop
  25. Dim bitis As DateTime = DateTime.Now
  26.  
  27. Dim fark As TimeSpan = bitis - baslangic
  28. LblAdoExec.Text = "Süre: " & fark.TotalMilliseconds.ToString() & " ms"
  29.  
  30. dataReader.Close()
  31.  
  32. Catch ex As Exception
  33. MsgBox(ex.Message.ToString)
  34.  
  35. End Try
  36. End Using
  37.  
  38. End Function
  39.  
  40. Public Function AdoNetDataSet()
  41.  
  42. Dim Baglantim As String
  43. Dim connection As OleDbConnection
  44. Dim oledbAdapter As OleDbDataAdapter
  45. Dim ds As New DataSet
  46. Dim sql As String
  47. Dim i As Integer
  48.  
  49. Baglantim ="Provider=Microsoft.Jet.OLEDB.4.0;" _
  50. & "Data Source=|DataDirectory|\Sirket.mdb;Persist Security Info=True"
  51. sql = "select * from personel"
  52.  
  53. connection = New OleDbConnection(Baglantim)
  54. Dim baslangic As DateTime = DateTime.Now
  55. Try
  56. connection.Open()
  57. oledbAdapter = New OleDbDataAdapter(sql, connection)
  58. oledbAdapter.Fill(ds)
  59. oledbAdapter.Dispose()
  60. connection.Close()
  61.  
  62. For i = 0 To ds.Tables(0).Rows.Count - 1
  63. LstAdoDataset.Items.Add(ds.Tables(0).Rows(i).Item(1))
  64.  
  65. Next
  66. Dim bitis As DateTime = DateTime.Now
  67.  
  68. Dim fark As TimeSpan = bitis - baslangic
  69. LblAdoDataset.Text = "Süre: " & fark.TotalMilliseconds.ToString() & " ms"
  70. Catch ex As Exception
  71. MsgBox(ex.Message.ToString)
  72. End Try
  73.  
  74. End Function
  75.  
  76.  
  77.  
  78.  
  79. Public Function AdoCom()
  80.  
  81. Dim cn As New ADODB.Connection()
  82.  
  83. Dim rs As New ADODB.Recordset()
  84. cn.Provider = "Microsoft.JET.OLEDB.4.0"
  85.  
  86. Dim baslangic As DateTime = DateTime.Now
  87. Try
  88. cn.ConnectionString = CurDir() & "\Sirket.mdb"
  89. cn.Open()
  90.  
  91. Dim sql As String = "Select * from personel"
  92. rs.Open(sql, cn)
  93. Do Until rs.EOF
  94. LstAdoCom.Items.Add(rs.Fields(1).Value)
  95. rs.MoveNext()
  96. Loop
  97. Dim bitis As DateTime = DateTime.Now
  98.  
  99. Dim fark As TimeSpan = bitis - baslangic
  100. LblAdoCom.Text = "Süre: " & fark.TotalMilliseconds.ToString() & " ms"
  101. Catch ex As Exception
  102. MsgBox(ex.Message.ToString)
  103.  
  104. Finally
  105. cn.Close()
  106. End Try
  107.  
  108.  
  109.  
  110. End Function
  111.  
  112. End Class



Javascript
  1. this.setState({sign:"Here comes the sun...."})







  Alıntı
Bu mesajı beğenenler:
#2
i7 2.8 GHz 6gb ram ile ado com da 7534 ms, adonet datasette 6661 ms sonucu gördüm. Güzel bir çalışma olmuş paylaşımınız için teşekkürler.
"Gönül deniz, dil kıyıdır. Denizde ne varsa kıyıya o vurur"



  Alıntı
Bu mesajı beğenenler:
#3
Sayın dreamt, yazdığınız mesajda en çok ilgimi çeken kullandığınız pc nin özellikleri oldu Wink Güzelmiş Wink


Adocom hep 1-2 saniye geriye düşüyor ama ben açıkcası daha büyük bir fark bekliyordum. Farklı vt lerde de denemek lazım....

Javascript
  1. this.setState({sign:"Here comes the sun...."})







  Alıntı
Bu mesajı beğenenler:
#4
intel 1,8 cpu(2), 1 gb ram ile ado com = 5718,75 ms , adonet dataset=4593,75, adonetexecute ile de 5593,75 ms. tşk.ler palaşım emeğiniz. için..
imza; jon206
www.access-sql.com



  Alıntı
Bu mesajı beğenenler:
#5
access-sql-7 
Smile iş yerinde kullandığım bilgisayar eh işte idare etmeye çalışıyoruz Twitcy
"Gönül deniz, dil kıyıdır. Denizde ne varsa kıyıya o vurur"



  Alıntı
Bu mesajı beğenenler:
#6
Hız sıralaması hepinizinki ile aynı. Süreleri sormayın; çağın gerisinde kalmış bir pc kullanıyorum. Wink



  Alıntı
Bu mesajı beğenenler:


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):