0

"do as server" und "function"

Hallo zusammen,

ich habe einen Button, hinter dem ein recht aufwändiges Skript steckt, das teilweise in Funktionen (function) strukturiert ist. Es beinhaltet einige select- und create-Befehle. Um die Performance zu optimieren möchte ich das ganze auf dem Server ausführen (do as server).

Mir ist hier das Zusammenspiel von "do as server" und "function" nicht ganz klar:

Option 1

function f1() do
    ...
end;
do as server
    f1()
end

 

Option 2

function f2() do
    do as server
        ...
    end
end;
f2()

 

Option 3

function f3() do
    do as server
        ...
    end
end;
do as server
    f3()
end

 

Option 4

do as server
    function f4() do
        ...
    end;
    f4()
end

Welche Option funktioniert überhaupt? Wird f1() auf dem Server ausfgeführt? Wie ist das bei globalen Funktionen? Wie wirkt sich das auf die Perfomance aus?

4 Antworten

null
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen
    • supiflo
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Uwe,

    danke erst einmal für deine Arbeit generell hier im Forum, ich habe schon viel von dir gelernt!

    Ich arbeite im Browser und habe mir nun deine Datenbank angesehen.

    Wie kommst du zu dem Schluss, dass do as server/transaction hinter Buttons keine Vorteile bringt? Bei mir ergibt sich beim Button "Bt_for globFx withOut do as" eine über 20fache Verarbeitungszeit.

    Generell gilt aber, dass der Aufruf einer Funktion innerhalb do as dazu führt, dass die Funktion ebenso ausgeführt wird, richtig?

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Die Aussage bezog sich darauf, dass es keine signifikanten Unterschiede zwischen do as server oder do as transaction gibt.
    Wobei sich Unterschiede zwischen 'do as server' und 'do as transaction' möglicherweise erst ab einer bestimmten Größe der Verarbeitung zeigen werden.

    Unbestriiten ist, dass die Verwendung von 'do as ...' gegenüber der  Nichtverwendung einen deutlichen Unterschied in der Verarbeitungsgeschwindigkeit aufzeigt.

      • chris.3
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Uwe, ich danke Dir auch für die Tipps die Du hier gibst. Ich spiele auch gerade mit den Möglichkeiten meine Datenbanken zu optimieren.

      Deine Datenbank habe ich mir daher interesse angeschaut, allerdings bringe ich Deine Beschreibung nicht mit den Docs von Ninox zusammen.

      https://docs.ninox.com/en/use-cases/tips-and-tricks-for-fast-databases 

      Lese oder verstehe ich es falsch oder wiedersprichst Du dir z.B. beim unteren Punkt nicht?

      'do as server‘ bringt einen erheblichen Geschwindigkeitsvorteil in der Abarbeitung des Scripts.
      Im Gegensatz zur Ausführung aus dem Browser heraus ist es erheblich langsamer in der Verarbeitung.
      

       

      Zum anderen würde mich auch interessieren was bei einem verschachtelten do as server/transaction passiert.  

       

      Viele Grüße

      Chris

      •