vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Geschwindigkeitsproblem, 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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Geschwindigkeitsproblem, Recordset, MYSQL, SevDatagrid1.244DEmarcOH223.08.06 16:15
Re: Geschwindigkeitsproblem, Recordset, MYSQL, SevDatagrid741Prian081524.08.06 09:19
Re: Geschwindigkeitsproblem, Recordset, MYSQL, SevDatagrid774DEmarcOH224.08.06 11:26

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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