| |
VB & DatenbankenGeschwindigkeitsproblem, Recordset, MYSQL, SevDatagrid | | | Autor: DEmarcOH2 | Datum: 23.08.06 16:15 |
| Hallo zusammen,
weiss nicht was ich falsch mache, aber ich habe massive Geschwindigkeitsprobleme beim erstellen/öffnen von Recordsets. Habe auch schon das Forum durchforstet aber irgendwie bin ich nicht weiter gekommen. Habe nun 2 Möglichkeiten gefunden mein sevDatagrid2 zu füllen. Es werden dabei ca. 90.000 Datensätze mit 6 Spalten eingelesen. Die Datenbank dahinter ist ein MySQL Server 4.1 (5.0 hab ich auch probiert ohne Erfolg), der Server hat 2 GB RAM und nen P4 2,6 GHZ Prozessor. my.ini hat alles Standard werde für Standalone Server Datenbanken.
Das befüllen des SevGrid dauert mit meiner ersten Methode 55 Sekunden und mit der zweiten Methode 43 Sekunden. Das ist natürlich unzumutbar für den Anwender. Und selbst wenn das Grid gefüllt ist dauert das scrollen ewig wenn man in den letzten 20.000 Datensätzen rumscrollt.
Es muss doch irgendeine Möglichkeit geben dies zu beschleunigen, bin fast am verzweifeln.
Kann mir vlt. einer sagen woran es liegt? Code, Datenbank, Hardware ???
Bin für jede Hilfe dankbar
viele Grüße
DEmarcOH
Der ConnectionString
With CN
.Open "Driver={MySQL ODBC 3.51" & _
"Driver};Server=localhost;Database=test;user=test;password=test;OPT" & _
"ON=16384"
end with 1. Methode
Dim nTime As Single
nTime = Timer
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = CN
RS.CursorLocation = adUseClient
RS.CursorType = adOpenDynamic
Set RS = CN.Execute("SELECT * from POSTEIN")
With sevGrid1 'sevDataGrid
.LockUpdate True
' Recordset zuweisen
Set .Recordset = RS
.LockUpdate False
.Refresh
.ROW = 1
End With
MsgBox "Timer: " & Timer - nTime 2. Methode
Dim nTime As Single
nTime = Timer
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient
' Recordset-Objekt erstellen
SqlQuery = "SELECT * FROM postein"
RS.Open SqlQuery, CN ', adOpenDynamic, adLockBatchOptimistic
With sevGrid1
' Recordset zuweisen
Set .Recordset = RS
'.LockUpdate False
.Refresh
.ROW = .Rows
RS.Close
Set RS = Nothing
End With
MsgBox "Timer: " & Timer - nTime | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|