Große Datenmengen performant verarbeiten
Thema: Auch bei großen Datenmengen Wartezeiten vermeiden und die Performance auf eine guten Stand halten
Kurzbeschreibung:
In dieser Datenbank-App werden zwei Dashboards gezeigt, die verschiedene Ansätze zeigen, wie Performance-Einbußen auch bei großen Datenmengen vermieden bzw. verringert werden können:
- durch die von uns sogenannte "Client-Side Cashed"-Strategie, bei der ein select einerseits nur auf Anfrage vom Nutzer ausgeführt und andererseits nur in dessen Browser gespeichert wird. Eine detaillierte Beschreibung können Sie in diesem Post https://forum.ninox.de/t/p8y197a/vermeidung-von-performance-einbruch-durch-dashboards#topic-top finden.
- durch die Anzeige von Ansichtselement und Übersichtsberechnungen nur bei Bedarf, verbunden mit einer Reduktion der Ergebnisse auf das Wesentliche und Sinnvolle
- eine möglichst geradlinige und damit kurze Berechnung von Ergebnissen, ohne unnötige Umwege zu gehen
Die Datenbank enthält nur sehr wenig Daten, um sie hier schnell herunter und wieder in Ihrer Ninox-Anwendung hochladen zu können.
Um die Auswirkungen großer Datenmengen sehen zu können, sollten Sie sich noch weitere Daten in die Datenbank importieren. Am besten nutzt man dazu eine KI über die man sich die benötigten Import-Dateien erstellen lässt.
Ich habe anschließend zwei "Prompts" (Anweisungen) für die KI vorbereitet, mit der zwei CSV-Dateien genau passend zu dieser Datenbank erstellt werden. Die Prompts habe ich mit fünf verschiedenen KI's getestet. ChatGPT und Copilot erstellen direkt herunterladbare Dateien. Claude, Gemini und Rovo erstellen 50 Beispiel-Zeilen zum Kopieren und zusätzlich ein Python-Skript plus Anleitung mit dem dann die eigentliche CSV-Datei erstellt werden kann.
Prompt für die Auftraggeber-Tabelle:
Erstelle mir bitte 10000 Beispiel-Datensätze für eine Tabelle "Auftraggeber" als CSV-Datei mit Semikolon als Trennzeichen. Die Felder sind nachfolgend aufgelistet mit Name > Datentyp > Informationen zum gewünschten Inhalt:
"KundenNr." > Text > Format K_00000 wobei die fünfstellige Zahl bei 00007 beginnen und fortlaufend sein soll;
"Vorname" > Text > frei erfundener Vorname;
"Nachname" > Text > frei erfundener Nachname;
"Anrede" > Text > Inhalt soll immer nur 'Frau', 'Herr' oder 'ohne' zum Vornamen passend sein;
"Straße und Nr." > Text > frei erfundener Straßenname und Hausnummer;
"PLZ" > Text > frei erfundene 4 oder fünfstellige Zahl - bei vierstelliger Zahl mir führender Null ;
"Telefon" > Text > frei erfundene Telefonnummer;
"E-Mail" > Text > aus Vorname oder Nachname erfundene E-Mail-Adresse;
Prompt für die Bauaufträge-Tabelle:
Erstelle mir bitte 10000 Beispiel-Datensätze für eine Tabelle "Bauaufträge" als CSV-Datei mit Semikolon als Trennzeichen. Die Felder habe ich aufgelistet mit Name > Datentyp > Informationen zum gewünschten Inhalt:
"Auftragsnummer" > Text > Inhalte im Format "BA_00000" wobei die fünfstellige Zahl fortlaufend sein soll und bei 00007 beginnen soll;
"Projektname" > Text > Inhalte frei erfunden im semantischen Feld von Gebäuden und Architektur;
"Datum Auftragserfassung" > Datum > Inhalt größer als heute;
"Geplanter Umsatz" > Zahl > Inhalte zwischen 20000 und 10000000;
"Objektadresse" > Text > frei erfundene Adresse mit Straße, Hausnummern, PLZ und Ort;
"KundenNr." > Text > Format K_00000 wobei die fünfstellige Zahl bei 00007 beginnen und fortlaufend sein soll;
Bitte importieren Sie zuerst die Auftraggeber und erst dann die Bauaufträge, so dass direkt beim Import bereits die Zuordnung der Auftraggeber zum Bauauftrag über die KundenNr. vorgenommen werden kann.
Anschließend erstellen Sie in einem der neuen Bauaufträge für alle neuen Bauaufträge die Standardphasen über den Button "Erstelle Standardphasen".
Zum besseren Verständnis hier noch ein kurzes Video zum Import:
Wenn mehr Datensätze benötigt werden vergessen Sie bitte nicht die Auftrags- und Kundennummern im Prompt anzupassen ;)
Suchworte: Performance, Dashboard, cached, performant, Ansicht, Ansichten
