Ik heb een DBISAM database wordt aangevuld met een Delphi applicatie, mijn taak is om deze database te converteren naar MySQL. Dit is wat maatwerk, want veel gegevens moeten daarbij niet worden meegenomen.
Omdat ik geen held ben in delphi, heb ik ervoor gekozen om dit in VB(6.0) te gaan maken.
De database openen, gaat prima. Ik heb op mijn ontwikkelsysteem een DSN aangemaakt.
Nou wil ik een tabel uitlezen met ong. 7000 records en dat doe ik op de volgende manier:
Maar dit gaat zooo ontzettend traag, terwijl de tabel ZipCode maar uit twee kolommen bestaat:
key, zipcode. Wanneer ik de query uitvoer heeft mijn computer ontzettend veel schijfactiviteit.
Dit is nog maar een klein tabelletje vergeleken met de rest.
Hoe kan ik dit optimaliseren?
Omdat ik geen held ben in delphi, heb ik ervoor gekozen om dit in VB(6.0) te gaan maken.
De database openen, gaat prima. Ik heb op mijn ontwikkelsysteem een DSN aangemaakt.
Option Explicit
Public MyConnection As ADODB.Connection
Public MyRecordSet As ADODB.Recordset
Public Sub OpenDb()
Set MyConnection = New ADODB.Connection
MyConnection.ConnectionString = "DSN=zh"
MyConnection.CursorLocation = adUseClient
MyConnection.Mode = adModeRead
MyConnection.Open
End Sub
Nou wil ik een tabel uitlezen met ong. 7000 records en dat doe ik op de volgende manier:
Private Sub Form_Load()
OpenDb
End Sub
Private Sub Command1_Click()
Set MyRecordSet = MyConnection.Execute("SELECT * FROM ZipCode")
Do
DoEvents
'....gegevens verwerken
MyRecordSet.MoveNext
Loop Until MyRecordSet.EOF
End Sub
Private Sub Form_Unload(Cancel As Integer)
MyConnection.Close
End Sub
Maar dit gaat zooo ontzettend traag, terwijl de tabel ZipCode maar uit twee kolommen bestaat:
key, zipcode. Wanneer ik de query uitvoer heeft mijn computer ontzettend veel schijfactiviteit.
Dit is nog maar een klein tabelletje vergeleken met de rest.
Hoe kan ik dit optimaliseren?