0

Tabelle mit vielen Berechnungsfelder sehr langsam?

Hallo Zusammen,

ich bin gerade dabei eine Übersichtstabelle zu bauen bei der es derzeit 10 Berechnungsfelder gibt die jeweils auf andere Tabellen mit eine "wehre" abfrage zugreifen.

Das problem es sind ca. 50 Personen für die es jeden Tag ein Eintrag gibt also 50 x 365 x 12 = 219.000 Berechnungen für nur ein Jahr... ich teste es gerade mit zwei Personen und 265 Tagen und das dauert schon eine halbe ewigkeit! (ca.1 Min. bis die Tabele steht)
Alle abfragen lasse ich scho vom Server berechen ... do as server...

z.B.
do as server
if Sonderbuchung = 0 then
let my := this;
let myNr := first(select P_Detail where Datum = my.Datum and Kontakte = my.Kontakte).Nr;
myNr
end
end

bei den ganzen berechnungen bzw. abfragen kommt es nur etwa bei max. 5% zu einem ergebins, der rst bleibt leer.

Kann ich das in irgend einer Form beschlunigen?

Der andere Weg wäre mir die Daten nicht berechnen zu lassen sondern bei jeder änderung im Datensatz via Trigger eine neu Tabelle zu schreiben was aber mir etwas wiedersträbt die doppelte Datenhaltung!

1 Antwort

null
    • jmbrenn_webde
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Micha82,

    nach meinem Eindruck ist der Zugriff bei Berechungen auf Felder verknüpfter Tabellen wesentlich performanter als über select auf nicht verknüpfte Tabellen. Allerdings wirst Du nach meinen Erfahrungen bei sehr vielen berechneten Feldern auch hier schnell an Grenzen für akzeptable Laufzeiten kommen, so dass Du um die bereits erwähnten temporären Ergebnis-Tabellen wohl nicht herum kommen wirst. Ich hoffe hier sehr auf zukünftige QLAP-Funktionen in NiNOX.

    Viele Grüße jörg

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 1Antworten
  • 1349Ansichten