Lagerbuchungsprotokoll

Allgemeine Diskussionen um die ERP Software AvERP

Moderator: SYNERPY

Antworten
PaGL
Beiträge: 616
Registriert: So Mär 05, 2006 5:30 pm

Lagerbuchungsprotokoll

Beitrag von PaGL »

Hallo,

habe in der Tabelle BARTLHBUX, Lagerbuchungsprotokoll ca. 200 000 Datensätze.

Wird in der View, in der Grid-Darstellung der letzte Datensatz aufgerufen / sortiert (Pfeiltaste >|), heißt alle Datensätze werden eingelesen, dann dauert dies ewig.
Klar, die Dauer hängt von der Performance der Hardware ab und liegt jedoch bei 7 Minuten (ohne Netzwerkinstallation) bis > 1 Stunde im Netzwerk und Serverauslastung.

Liegt die lahme Geschwindigkeit an der View selbst oder an den Datensätzen. Bei der Einzelplatzinstallation mit Quad-Core Prozess, 2,4 GHz, Win10 dauert der Aufbau 7 min. Schaffe mit Änderungen in der Firebird.conf keine wesentliche Unterschiede.

Kann jemand im Forum zur Geschwindigkeit der View was sagen ?

Gruß
PaGl
UliS
Beiträge: 399
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Re: Lagerbuchungsprotokoll

Beitrag von UliS »

Würde die Ursache in der View suchen.

Test im IBex
select count(*) from BARTLHBUX;
über 258.904 Datensätze
---------------------------
Plan
PLAN (BARTLHBUX NATURAL)
------ Performance info ------
Prepare time = 31ms
Execute time = 78ms
Avg fetch time = 78,00 ms
Current memory = 39.193.736
Max memory = 39.524.104
Memory buffers = 2.048
Reads from disk to cache = 3.796
Writes from cache to disk = 0
Fetches from cache = 525.406
-----------------------------------

Und über die View:
select count(*) from v_BARTLHBUX

StandAlone Win7 i5 3.5 GHz - 8GB - ein User auf einer Datenbank auf SSD ohne Netz.

statt 78 ms 13s 260ms (und das im 2.Versuch --- der 1.Versuch ohne Daten im Cache zeigte 15 s)
Das heißt der Zugriff auf die View kostet den Faktor 170.
Und damit sind noch längst nicht alle Daten abgeholt...
Aber um die Verknüpfung mit so ziemlichen allen Tabellen die Bestandveränderungen erzeugen, bringt den notwendigen Komfort und kostet Performance.
Wenn 200.000 Buchungen vorhanden sind wird es sicher auch entsprechend viele Sätze in Einzellager BARTLH..PO, Auftragspositionen BAUFPO und Wareneingängen BLLCP
geben und sicher auch FA-Materialbuchungen.

Sicher wurde einige Jahre gebucht, bis 200.000 Buchungen beiander sind.
Wieso dann alle gemeinsam gebraucht werden ist sicher eine hypothetische Frage???

Fürchte, das die Lösung im Problem nur ein Archivierung und Komprimierung der Daten liegt, ohne das mit dafür ein existierendes Verfahren

Hier der Plan zur View V_BARTLHBUX
Adapted Plan
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (V_BARTLHBUX A NATURAL, V_BARTLHBUX B INDEX (PK_BMAND)), V_BARTLHBUX C INDEX (PK_BARTLHPO)), V_BARTLHBUX D INDEX (PK_BARTLH)), V_BARTLHBUX E INDEX (PK_BLAGER)), V_BARTLHBUX F INDEX (PK_BSA)), V_BARTLHBUX G INDEX (INTEG_265)), V_BARTLHBUX H INDEX (PK_BLAGVE)), V_BARTLHBUX J INDEX (PK_BFA)), V_BARTLHBUX K INDEX (PK_BFAM)), V_BARTLHBUX L INDEX (PK_BBESP)), V_BARTLHBUX M INDEX (PK_BBESPD)), V_BARTLHBUX N INDEX (PK_BLRCP)), V_BARTLHBUX NN INDEX (PK_BLRC)), V_BARTLHBUX P INDEX (PK_BAUFPO)), V_BARTLHBUX Q INDEX (PK_BRRCP)), V_BARTLHBUX R INDEX (PK_BRRC)), V_BARTLHBUX S INDEX (PK_BFA)), V_BARTLHBUX T INDEX (PK_BBES)), V_BARTLHBUX U INDEX (PK_BAUF)), V_BARTLHBUX V INDEX (PK_BBESP)), V_BARTLHBUX W INDEX (PK_BBES)), V_BARTLHBUX X INDEX (PK_BAUFPOST)), V_BARTLHBUX Y INDEX (PK_BAUFPO)), V_BARTLHBUX Z INDEX (PK_BAUF)), V_BARTLHBUX GG INDEX (INTEG_1534)), V_BARTLHBUX AA INDEX (PK_BREKLPO)), V_BARTLHBUX AB INDEX (PK_BREKL)), V_BARTLHBUX AC INDEX (PK_BAUFPO)), V_BARTLHBUX AD INDEX (PK_BPROJPO)), V_BARTLHBUX AE INDEX (PK_BPROJ)), V_BARTLHBUX AF INDEX (PK_BMENG)), V_BARTLHBUX AG INDEX (PK_BFIRMA)), V_BARTLHBUX AH INDEX (PK_BWAER)), V_BARTLHBUX AI INDEX (INTEG_1122)), V_BARTLHBUX AJ INDEX (INTEG_1068)), V_BARTLHBUX AK INDEX (PK_BWATR)), V_BARTLHBUX AL INDEX (PK_BFAA)), V_BARTLHBUX AM INDEX (PK_BFA)), V_BARTLHBUX AN INDEX (PK_BARTLHPOVAR)), V_BARTLHBUX AO INDEX (PK_BSM)), V_BARTLHBUX AP INDEX (PK_BKASSPO)), V_BARTLHBUX AQ INDEX (PK_BKASS)), V_BARTLHBUX AR INDEX (PK_BBESPST)), V_BARTLHBUX AU INDEX (PK_BBESP)), V_BARTLHBUX AV INDEX (PK_BBES)), V_BARTLHBUX AW INDEX (PK_BRLSP)), V_BARTLHBUX AX INDEX (PK_BRLS)), V_BARTLHBUX AY INDEX (PK_BWALPO)), V_BARTLHBUX AZ INDEX (PK_BWAL)), V_BARTLHBUX BA INDEX (PK_BSSN)), V_BARTLHBUX BB INDEX (INTEG_257)), V_BARTLHBUX BC INDEX (PK_BLLC))

------ Performance info ------
Prepare time = 16ms
Execute time = 13s 260ms
Avg fetch time = 13.260,00 ms
Current memory = 39.468.440
Max memory = 39.556.456
Memory buffers = 2.048
Reads from disk to cache = 61.816
Writes from cache to disk = 0
Fetches from cache = 39.584.830
Gruß U.Schmidt
averpen4dummies.blogspot.de -- off
Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation
aktuelle Erkenntnisse mit:
Software-Version 6.11.1
FDB 2023.02 / ohne 2024
PaGL
Beiträge: 616
Registriert: So Mär 05, 2006 5:30 pm

Re: Lagerbuchungsprotokoll

Beitrag von PaGL »

Hallo,

danke für die Vergleichsdaten.

ja, für 200 000 Datensätze erstellen benötigt man einige Zeit.
Klar muss man nicht alle Datensätze gleichzeitig sehen, jedoch will man den letzten Datensatz ansehen, dann werden trotz dem alle 200000 vorhergehenden Datensätze eingelesen.

Im Vergleich bekomme ich mit
StandAlone Win10, i5 2,4GHz - 8GB - ein User auf einer Datenbank auf SSD ohne Netz,
195 119 Datensätze ,
folgende Performance:

Tabelle: BARTLHBUX:
------ Performance info ------
Prepare time = 0ms
Execute time = 78ms
Avg fetch time = 78,00 ms
Current memory = 297.065.888
Max memory = 311.231.112
Memory buffers = 2.048
Reads from disk to cache = 5.873
Writes from cache to disk = 2
Fetches from cache = 401.987


Die Werte der Tabelle sind zu UliS Werte vergleichbar.

View: V_BARTLHBUX
------ Performance info ------
Prepare time = 0ms
Execute time = 1m 5s 312ms
Avg fetch time = 65.312,00 ms
Current memory = 297.291.864
Max memory = 311.231.112
Memory buffers = 2.048
Reads from disk to cache = 16.995
Writes from cache to disk = 0
Fetches from cache = 276.944.220


Die Werte der View sind zu UliS Werten um Faktor 5 mit 1m 5s 312ms zu 13s 260ms langsamer.

Hat jemand Ideen zu diesem Performanceunterschied

Gruß
PaGl
UliS
Beiträge: 399
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Re: Lagerbuchungsprotokoll

Beitrag von UliS »

Zum Thema letzter Datensatz kommt mir ja eine ganz perverse Idee. Eigentlich interessieren doch immer die letzten Buchungen und normalerweise Nichts was Jahre alt ist.
Wie wäre es damit die View V_BARTLHBUX um ein ORDER BY A.ID DESC zu ergänzen?

Versuch macht klug: Ändern der View bringt garnichts, der SQL-Monitor zeigt einen gewissen Eigensinn der AvERP.exe(???)

12.05.2018 13:28:16
Source: FRMV_BARTLHBUX.q_1

SELECT *
FROM V_BARTLHBUX
WHERE (BMAND_ID = 1 OR
BMAND_ID IS NULL)
ORDER BY V_BARTLHBUX.MASKENKEY


Wen interessiert denn eine Sortierung nach V_BARTLHBUX.MASKENKEY??
Kostet ca. 30 Sekunden!!!
12.05.2018 13:28:45
Source: frmData.q_UProgDatenAnz

SELECT *
FROM P_MASKEN_DATENANZEIGE(:HAUPTFORM, :ID)
WHERE DATENVORHANDEN = 1
:HAUPTFORM(VARCHAR[14])='FRMV_BARTLHBUX'
:ID(INTEGER)=2561098

Q_1 in FRMV_BARTLHBUX scheint der Verursacher zu sein!
SELECT * FROM V_BARTLHBUX ORDER BY V_BARTLHBUX.MASKENKEY

Nehme ich mal das Order BY aus der Q_1: raus.

Und siehe da, Lagerbuchungsprotokoll öffnet sich pfeilschnell!!
In Millisekunden Darstellung des letzten Datensatzes.

Monitor zeigt:
2.05.2018 13:49:59
Source: FRMV_BARTLHBUX.q_1

SELECT *
FROM V_BARTLHBUX
WHERE (BMAND_ID = 1 OR
BMAND_ID IS NULL)


12.05.2018 13:49:59

Source: frmData.q_UProgDatenAnz

SELECT *
FROM P_MASKEN_DATENANZEIGE(:HAUPTFORM, :ID)
WHERE DATENVORHANDEN = 1
:HAUPTFORM(VARCHAR[14])='FRMV_BARTLHBUX'
:ID(INTEGER)=2763526
Gruß U.Schmidt
averpen4dummies.blogspot.de -- off
Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation
aktuelle Erkenntnisse mit:
Software-Version 6.11.1
FDB 2023.02 / ohne 2024
PaGL
Beiträge: 616
Registriert: So Mär 05, 2006 5:30 pm

Re: Lagerbuchungsprotokoll

Beitrag von PaGL »

Hallo,

habe jetzt vergleichbare Ausführungszeit von 195 119 Datensätzen :D

View: V_BARTLHBUX
------ Performance info ------
Prepare time = 16ms
Execute time = 13s 937ms
Avg fetch time = 13.937,00 ms
Current memory = 24.909.256
Max memory = 25.310.408
Memory buffers = 2.048
Reads from disk to cache = 16.048
Writes from cache to disk = 0
Fetches from cache = 36.557.612


Hatte vermutlich fehlerhafte Datensätze in BARTLHPOH. Bzw nach Behebung ergibt sich diese Performance

Danke
PaGl
Antworten