[gelöst] Performance-Problem

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Performance-Problem

Re: Performance-Problem

von agrupe » Fr, 26.02.2010 16:34

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

Re: Performance-Problem

von agrupe » Di, 23.02.2010 06:45

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

Re: Performance-Problem

von eBayer » Mo, 22.02.2010 19:45

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

[gelöst] Performance-Problem

von agrupe » Mo, 22.02.2010 17:22

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

Nach oben