0

Performance der Datenbank im Browser optimieren

Hallo zusammen, 

ich bin aktuell auf der Suche nach Möglichkeiten, die Performance meiner Datenbank zu optimieren. 

Meine Nutzer müssen derzeit teilweise extrem lange warten, bis sie das erste Mal etwas tun können. Ich würde hier gerne einen Thread aufmachen, in dem wir gemeinsam nach Lösungen suchen, wie die Performance gesteigert werden kann. 

Erste Frage:
- Wie kann ich Informationen im Hintergrund laden, ohne dass vorne der Nutzer warten muss?
Anwendungsbeispiel: Ich habe auf dem Startbildschirm diverse Metriken die Fortschritt anzeigen sollen. Dabei muss beispielsweise eine Tabelle mit 30.000 Datensätzen gefiltert werden nach "cnt(select Belege where Status = 4)" oder ähnliches. Im Browser dauert diese Anfrage extrem lange. Was kann ich tun, dass dies optimiert wird?
Ich kann damit leben, wenn die Zahl sich beispielsweise lediglich jede Stunde aktualisiert.

 

Beste Grüße

Peter

5 Antworten

null
    • Rafael_Sanchis
    • vor 12 Tagen
    • Gemeldet - anzeigen

    In the browser it is extremely slow, I use the Android Tablet in the cloud and it is considerably faster.

      • pma_mgmt
      • vor 12 Tagen
      • Gemeldet - anzeigen

       I know. The reason is that most of the stuff gets downloaded on the android tablet and is available locally whereas in the browser it has to be cached every time you open a new tab. 

      Unfortunately I can not force the whole workforce of a company to type all that stuff on a tablet ;-)

      • Rafael_Sanchis
      • vor 12 Tagen
      • Gemeldet - anzeigen

       

      You are right

    • Fred
    • vor 12 Tagen
    • Gemeldet - anzeigen

    Can you make a summary table of your raw data table? In the summary table you would have a record for each status, year, quarter, month, day of week, etc. Then you can create formula fields that get the data you need. Now you only need to do get the right record of a table of 10's not 10,000's.

    I have a sports DB. I noticed that even when I only had raw results in the thousands I was seeing performance issues. I started off by doing my stats in my data tables. Bad mistake.

    Then tried dashboards, but I still saw issues since I was doing selects of the raw data.

    The biggest change was when I implemented my stat tables and used reference fields instead of selects.

      • pma_mgmt
      • vor 11 Tagen
      • Gemeldet - anzeigen

       Hi Fred, Thank you very much. Indeed, this is what I did and opening the browser went from >80 Seconds to about 1.

      For those looking for solutions. If you work with Dashboards on the Main screen you can apply something like "Calculate my Stats but do it in the background" and then refer only to the calculated value to immensly speed up your system.
      What I did was to 
      * Add "Stats-Fields" to each employee.
      * When opening the database OR when opening the tab of the Dashboard i use the trigger "do as deferred .... let me:=employee(); let me.mystat1:=select x where y=z ... end".
      Which then calculates everything on server side without loading the actual selected values to the browser and calculating it there. This means, that my stats sometimes are "a bit off and then correct themselves" but based on the use case this is totally fine for me.