For the complete documentation index, see llms.txt. This page is also available as Markdown.

Transaktionen in Ninox verstehen

Erfahre, wie Ninox Lese- und Schreibtransaktionen ausführt.

Ninox führt Datenbankaktionen als Transaktionen aus. Eine Transaktion fasst eine oder mehrere Operationen in einem Ausführungsschritt zusammen. In der Praxis verarbeitet Ninox das Lesen und Ändern von Daten unterschiedlich.

Lesetransaktionen

Eine Lesetransaktion ruft Daten ab, ohne sie zu ändern.

Typische Beispiele sind:

  • Datensätze in einer Tabelle filtern

  • eine Abfrage ausführen, um passende Datensätze zu finden

  • Werte lesen, um sie in der App anzuzeigen

Wenn Ninox eine Lesetransaktion startet, arbeitet sie mit dem Datenstand, der zu diesem Zeitpunkt aktuell war. Änderungen, die andere Nutzer während derselben Abfrage speichern, sind nicht Teil dieses Ergebnisses.

Ninox kann viele Lesetransaktionen gleichzeitig verarbeiten. Wenn ein Nutzer Daten liest, blockiert das normalerweise keinen anderen Nutzer beim Lesen von Daten.

Schreibtransaktionen

Eine Schreibtransaktion ändert Daten.

Typische Beispiele sind:

  • einen Datensatz erstellen

  • einen Feldwert bearbeiten

  • einen Datensatz löschen

  • auf eine Schaltfläche klicken, die Daten aktualisiert

  • Logik ausführen, die Werte in die Datenbank zurückschreibt

Es läuft immer nur eine Schreibtransaktion gleichzeitig. Andere Schreibtransaktionen warten, bis die aktuelle abgeschlossen ist. Das ist normalerweise kein Problem, weil die meisten Schreibtransaktionen sehr schnell abgeschlossen sind.

Automatisierungen wie Bei Erstellung und Bei Aktualisierung laufen innerhalb derselben Schreibtransaktion, die sie ausgelöst hat.

Nutze Transaktionen für eine App mit hoher Performance

Gute Ninox Logik liefert mehr als nur das richtige Ergebnis. Sie sollte auch vorhersehbar laufen, andere Nutzer nicht blockieren und leicht zu pflegen sein.

Wenn Ninox langsam oder kurzzeitig nicht reagiert, blockiert möglicherweise eine längere Schreibtransaktion die Warteschlange.

Das passiert, wenn eine Aktion deutlich länger als üblich dauert und spätere Schreibaktionen warten müssen. Häufige Ursachen sind:

  • Aufrufe externer Dienste, zum Beispiel mit http(...)

  • große Datenauswertungen kombiniert mit select

  • komplexe Logik in Schaltflächen oder Automatisierungen, die viele Datensätze aktualisiert

Vermeide diese Ursachen, indem du die Schreiblogik fokussiert und kurz hältst.

Befolge diese Faustregeln:

  • Lies und bereite Daten zuerst vor, wenn möglich.

  • Halte API-Calls, wenn möglich, aus kritischen Schreibabläufen heraus.

  • Vermeide wiederholte select-Abfragen innerhalb von Schleifen.

  • Teste Schaltflächen und Automatisierungen mit realistischen Datenmengen.

  • Teile große Aktualisierungen, wenn möglich, in kleinere Schritte auf.

Eine praktische Denkweise:

  • Verwende Lesetransaktionen, um Daten zu prüfen.

  • Verwende Schreibtransaktionen nur, wenn du eine Änderung speichern musst.

  • Je weniger Arbeit eine Schreibtransaktion ausführen muss, desto flüssiger fühlt sich die App für alle an.

Zuletzt aktualisiert

War das hilfreich?