Hallo,
nachdem ich mein Rechnungstool seit gut 2 Jahren betreibe, habe ich ca. 20.000 Bestellpositionen im System. Das ist mE. für eine DB nicht viel, zumal die zentrale Tabelle, die die Positionen verwaltet nur aus Zeigern in andere Tabellen wie Produkte etc besteht. Seit kurzem brauche ich, um mit folgender Funktion einen neuen Datensatz in die DB zu schreiben gut 1-2 sec. Das ist viel langsamer als "früher" und echt nervig. Am Rechner (Quad Core, Linux) liegts gewiss nicht.
Bevor ich jetzt alles per SQL in die DB schreibe und es dann im Formular darstelle erst mal meine Frage, ob es noch eine andere Möglichkeit gibt oder ob bei der Base Datenbank bei 20.000 Datensätzen in einer Tabelle tatsächlich eine Performancegrenze erreicht ist und ich evtl. auf MySQL umsteigen sollte.
Danke für jeden Tipp!
Andreas
Sub InsertArtikel(iArtID as Integer,dMenge as Double)
Dim oForm as Object 'darin wird das Formular gespeichert
Dim oSubForm as Object ' darin stehen die Bestellpositionen
Dim Zeit_Start as date ' zum Test
Dim Zeit_End as date
Zeit_Start = time()
oForm=thisComponent.drawpage.getForms.getByName ("Bestellnr")
oSubForm=oForm.getByName("Positionen")
' 1=Bestell_ID, 2=Bestellnr, 3=Artikel_ID, 4=Preis, 5= Anzahl, 6=Summe gem. Tabelle Bestellungen
oSubForm.moveToInsertRow() ' Cursor auf neuen, nicht eingefügten DS setzen
oSubForm.updateInt(3,iArtID) ' Artikel_ID einsetzen
oSubForm.updatedouble(5,dMenge) ' Anzahl eintragen
oSubForm.insertRow() ' Ins Resultset und in die DB schreiben
oSubForm.moveToCurrentRow()
Zeit_End = time()
MsgBox("Start " & Zeit_Start & Chr(13) & "Ende" & Zeit_End)
End Sub
[gelöst] Performance-Problem
Moderator: Moderatoren
[gelöst] Performance-Problem
Zuletzt geändert von agrupe am Fr, 26.02.2010 16:35, insgesamt 1-mal geändert.
OO 3.2 unter OpenSuse 11
Re: Performance-Problem
Versuch doch mal die Datenbank zu komprimieren. Durch Einfügungen, Löschungen und Änderungen können sich im Laufe der Zeit Fragmentierungen in der DB gebildet haben, welche die Datenbank ganz sicher langsam machen können. Abgesehen davon ist MySQL natürlich die bessere Lösung. Folgend ein Link, bei dem das Thema "Defrag" behandelt wird.
viewtopic.php?f=8&t=19859&p=84445&hilit=defrag#p84445
Gruß eBayer
viewtopic.php?f=8&t=19859&p=84445&hilit=defrag#p84445
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Performance-Problem
Moin Moin,
das habe ich gemacht; die DB ist nur noch halb so groß wie vorher und es ist etwas besser geworden, richtig begeistert bin ich noch immer nicht ;-(
Ich werde jetzt erst mal die 3.2 installieren, die Version soll ja performanter sein. Mal sehen.
Gruß & danke für den Tipp
Andreas
das habe ich gemacht; die DB ist nur noch halb so groß wie vorher und es ist etwas besser geworden, richtig begeistert bin ich noch immer nicht ;-(
Ich werde jetzt erst mal die 3.2 installieren, die Version soll ja performanter sein. Mal sehen.
Gruß & danke für den Tipp
Andreas
OO 3.2 unter OpenSuse 11
Re: Performance-Problem
Hi,
nach Update auf 3.2.0 ist die Prformance wieder besser geworden. Subjektiv geschätzt laufen die DB-Zugriffe jetzt ca. 50% schneller.
Gruß
Andreas
nach Update auf 3.2.0 ist die Prformance wieder besser geworden. Subjektiv geschätzt laufen die DB-Zugriffe jetzt ca. 50% schneller.
Gruß
Andreas
OO 3.2 unter OpenSuse 11