Latest / M365.FM – Microsoft 365, Copilot & KI Podcast auf Deutsch / Dataverse-Performance: skalierbare Datenmodelle mit schlankem Schema, klugen Beziehungen und Indizes (KI-Synchronfassung)
Transcript
- 0:00Bereit für 10 Tage voller Microsoft 365 Co-Pilot, KI-Azure und den Vordenkern, die die Zukunft der Arbeit gestalten?
- 0:07Diesen Januar ist die M3 in 65 Jahren zurück und wir legen noch eine Schippe drauf.
- 0:11Wo drauf? Seien Sie dabei bei Live-Sessions, Praxis-Demos und Expertenwissen von MVPs und Branchenprofis aus aller Welt.
- 0:18Keine generischen Folien, kein endloses Buzzword-Bingo.
- 0:22Wir gehen die echten Herausforderungen an, Co-Pilot Studio, KI-Agenten, Fabric, Sicherheit, Governance und Automatisierung.
- 0:27Egal ob IT-Profi, Entwickler oder Führungskraft, wir haben die passenden Sessions für Sie, wir Sie.
- 0:35An 10 vollen Tagen können Sie Technologien entdecken und sich mit einer globalen Community vernetzen.
- 0:40Schauen Sie live zu und nehmen Sie wertvolle Erkenntnisse mit in Ihr Unternehmen.
- 0:45Januar 2027, 10 Tage, eine Microsoft Community. Die Registrierung ist ab sofort geöffnet.
- 0:51Gehen Sie auf m3-65-con.net und sichern Sie sich noch heute Ihren Platz.
- 0:55Das ist m3-65-con.net.
- 1:00Melden Sie sich jetzt auf m3-65-con.net an. Wir sehen uns.
- 1:03Im Januar live.
- 1:05Was, wenn der Grund dafür, dass Ihre Dataverse-App extrem langsam wird, nicht die Datenmenge ist, sondern wie Ihre Beziehungen verknüpft sind?
- 1:13Heute analysieren wir den verborgenen Zusammenhang zwischen Schema-Design und tatsächlicher Reaktionszeit
- 1:17und warum viele Power-Plattform-Ersteller sich von Anfang an unwissentlich in eine schlechte Performance manövrieren.
- 1:25Die verborgenen Performance fallen in Ihren Tabellen.
- 1:28Haben Sie sich je gefragt, warum eine Tabelle mit nur wenigen tausend Zeilen langsamer wirkt als eine mit einer Million?
- 1:32Es ist einer dieser Momente, in denen Ihr Gefühl sagt, es müsste flüssig laufen, aber Dataverse fühlt sich an, als würde es sich durch nassen Zement bewegen.
- 1:39Die überraschende Wahrheit ist, es ist nicht die reine Größe, die Ihre App ausbremst, sondern die Art und Weise, wie die Tabelle von Grund auf entworfen wurde.
- 1:46Und diese Designentscheidungen verursachen Probleme, lange bevor Sie an die tatsächlichen Plattform-Limits stoßen.
- 1:52Viele Ersteller schieben die Schuld auf externe Faktoren.
- 1:54Sie vermuten, Ihr Tenant wird gedrosselt, das Netzwerk ist instabil oder es gibt einen versteckten Speichereinkpass im Dienst.
- 1:59Im Dienst.
- 2:01Doch oft lassen sich langsame Formulare, verzögerte Lookups und Power-Automate-Flows mit Timeouts auf ein Schema zurückführen,
- 2:07das in der Erstellungsphase perfekt aussah, aber so strukturiert war, dass jede darauf zugreifende Abfrage ausgebremst wird.
- 2:15Wenn sich ein Nutzer jemals über ein langsames Dataverse beschwert hat, ohne weitere Details zu nennen,
- 2:19liegt die Ursache sehr wahrscheinlich an Ihrem Tabellen-Layout.
- 2:23Stellen Sie es sich wie ein Aktenschrank vor.
- 2:25Wenn jede Schublade mit Papieren vollgestopft ist und nichts beschriftet ist,
- 2:28spielt es keine Rolle, ob nur 50 Dateien darin liegen, Sie verschwenden trotzdem Zeit mit der Suche.
- 2:33Eine Dataverse-Tabelle funktioniert genau gleich.
- 2:35Überladen mit selten genutzten Feldern und verknüpft durch unnötige Beziehungen
- 2:38kann Sie selbst einfache Datenvorgänge quälend langsam machen.
- 2:42Anders als bei einem unordentlichen Schrank ist das Chaos hier weder für Sie noch für den Benutzer sofort sichtbar.
- 2:46Das einzige Symptom ist ein zunehmender Leistungsverlust.
- 2:49Ich habe Projekte gesehen, bei denen das Tabellenschema wie eine Zusammenstellung aller Anforderungen,
- 2:53jedes Beteiligten wirkte, jedes Beteiligten wirkte.
- 2:55Ein Feld für interne Notizen in drei verschiedenen Formaten nötig.
- 2:58Erledigt.
- 2:58Ein Dutzend Varianten desselben Lookups, falls es später jemand braucht.
- 3:02Einfach hinzufügen.
- 3:03Mit der Zeit werden diese Felder zu unnötigen Ballast.
- 3:05Sie werden unnötig indiziert, verlangsamen Einfügungen und Aktualisierungen
- 3:08und machen die UI des Formulars schwerfälliger als nötig.
- 3:11Ein reales Beispiel betraf eine Kundentabelle mit über 250 Feldern,
- 3:16von denen die meisten nur für den Fall der Fälle existierten.
- 3:19Das Ergebnis, ein Formular, das bei einer Hochgeschwindigkeitsverbindung über zwölf Sekunden zum Laden brauchte.
- 3:24Und das war noch bevor jegliche Automatisierung griff.
- 3:26Die eigene Dokumentation von Microsoft erläutert die Kompromisse bei der Normalisierung.
- 3:30Nach Lehrbuch schützt die Aufteilung von Daten in viele kleine oder verknüpfte Tabellen vor Redundanz.
- 3:34In der Praxis kann eine Übernormalisierung die Dataverse-Leistung beeinträchtigen,
- 3:38wenn normale Vorgänge zu viele Joints über diese Tabellen erfordern.
- 3:42Jeder Join bedeutet zusätzliche Arbeit für die Abfrage-Engine.
- 3:46Und wenn Sie Spalten, die sich kaum ändern, in separaten, verknüpften Tabellen speichern,
- 3:49zahlen Sie einen Rechenaufwand ohne wirklichen Nutzen.
- 3:53Das Aussortieren unwichtiger Felder ist zwar keine glanzvolle Arbeit, zahlt sich aber schnell aus.
- 3:57Identifizieren Sie Attribute, die nicht für Berichte verwendet werden,
- 3:59sich selten ändern oder Informationen anderswo duplizieren.
- 4:01Behalten Sie nur das, was heute einen tatsächlichen Prozess unterstützt,
- 4:04nicht das, was eines Tages benötigt werden könnte.
- 4:06Dasselbe gilt für die Normalisierung.
- 4:07Es lohnt sich nun zu prüfen, wo Sie zusammengehörige, aber wenig genutzte Daten kombinieren können,
- 4:11um Joints zu reduzieren.
- 4:12Das Ziel ist nicht, gute Designprinzipien über Bord zu werfen,
- 4:14sondern Gleichgewicht zwischen Theorie und der tatsächlichen Ausführung Ihrer App unter Last zu finden.
- 4:19Die Realität ist, dass skalierbare Leistung nicht dadurch entsteht,
- 4:21dass man Dataverse einfach mehr Ressourcen zuweist.
- 4:24Es beginnt mit einem zweckmäßig entworfenen Schema.
- 4:26Schlanke Tabellen führen Befehle schneller aus,
- 4:28Formulare laden berechenbarer
- 4:30und Automatisierungen starten pünktlich,
- 4:31selbst wenn Ihre Umgebung wächst.
- 4:33Jedes unnötige Feld oder jede schlicht durchdachte Normalisierungsentscheidung
- 4:37erhöht den Widerstand.
- 4:38Bei jeder Abfrage, Abfrage.
- 4:41Mit der Zeit summiert sich dieser Widerstand seiner spürbaren Verzögerung.
- 4:44Nachdem der Faktor Unordnung nun offenlegt,
- 4:46verbirgt sich die nächste.
- 4:47Herausforderung in der Interaktion Ihrer Tabellen.
- 4:49Und genau da kann das Beziehungsdesign über Leistung oder Scheitern entscheiden.
- 4:55Wenn Beziehungen zu Hindernissen werden,
- 4:56gleichen manche Dataverse Beziehungen einer Kreuzung im Berufsverkehr A.
- 4:59Alles stört sich an einer Stelle
- 5:01und der gesamte Ablauf verlangsamt sich bis zum Stillstand.
- 5:04Auf dem Papier sieht die Datenstruktur sauber und logisch aus.
- 5:06Aber in der Praxis kann ein einziger überlasteter Verknüpfungspunkt
- 5:09eine gesamte modellgesteuerte App in die Knie zwingen.
- 5:13Es geht hier nicht um schlechte Daten oder riesige Volumina,
- 5:15sondern darum, wie die Beziehungen unter der Haube verknüpft sind.
- 5:18Das Beziehungsdesign kann unbemerkt Performance-Probleme verursachen,
- 5:21die erst bei realen Größenordnungen sichtbar werden.
- 5:24In kleineren Testumgebungen laufen selbstineffiziente Joints problemlos.
- 5:26Setzt man dasselbe Design in einer Unternehmensumgebung
- 5:29mit tausenden aktiven Nutzern und vernetzten Prozessen ein,
- 5:32laden Formulare plötzlich langsam,
- 5:34Subgrids laufen in Timeouts
- 5:35und alles, was diese verknüpften Tabellen betrifft,
- 5:39wirkt träge.
- 5:41Das sind keine mysteriösen Cloud-Verlangsamungen,
- 5:43sondern das natürliche Ergebnis von Beziehungen,
- 5:45die auf Klarheit ausgelegt sind,
- 5:47ohne zu berücksichtigen, wie Dataverse-Abfragen
- 5:49tatsächlich ausführt.
- 5:50Ich habe das selbst bei einem Projekt erlebt,
- 5:53bei dem eine M-zu-N-Beziehung genutzt wurde,
- 5:55um Kontakte mit mehreren Serviceplänen zu verknüpfen.
- 5:58In ersten Test mit ein paar hundert Datensätzen
- 6:00lief alles reibungslos.
- 6:03Doch als der Live-Datenbestand auf hunderttausende Anwuchs und Nutzer
- 6:06die Verknüpfungen täglich abfragten,
- 6:09wurde diese M-zu-N-Tabelle zum langsamsten Teil des Systems.
- 6:14Jeder Formularaufruf löste komplexe Joints über drei Tabellen aus,
- 6:17wobei jeder Join den Overhead erhöhte,
- 6:19bis grundlegende Vorgänge viel länger dauerten als erwartet.
- 6:22Die versteckten Kosten liegen nicht nur in den Joints selbst.
- 6:25Lookup-Felder in Dataverse können kaskadierende Verhaltensweisen
- 6:28wie automatische Neuzuweisungen, Löschungen oder Updates enthalten,
- 6:31die bei jeder Änderung am verknüpften Datensatz ausgeführt werden.
- 6:35Obwohl diese für die Datensynchronität großartig sind,
- 6:38bedeuten sie bei jedem Update auch mehr Hintergrundverarbeitung,
- 6:40selbst für Felder, die nichts mit dem Hauptvorgang zu tun haben.
- 6:43GR
- 6:43In Tabellen mit hoher Aktivität können sich diese Kaskaden schnell summieren,
- 6:48was den Durchsatz reduziert und Interaktionen ohne offensichtlichen Auslöser verlangsamt.
- 6:53Microsofts eigene Richtlinien raten aus gutem Grund dazu,
- 6:56unnötig komplexe Joints zu vermeiden.
- 6:58Jeder zusätzliche Join in einer Abfrage zwingt die Dataverse-Engine dazu,
- 7:02mehr Arbeit zu leisten, mehr Daten zu übersetzen
- 7:04und mehr Informationen im Arbeitsspeicher zu halten,
- 7:06während Bedingungen ausgewertet werden.
- 7:07In kleinen Dosen ist das handhabbar,
- 7:10doch sobald man mehrere M-N-Beziehungen und Kaskaden in denselben Prozess einbaut,
- 7:15steigt die Ausführungszeit viel schneller als erwartet.
- 7:18Shenzhen
- 7:19Ein besonders aufschlussreicher Fall betraf die Umstellung einer Beziehung
- 7:22von einer M-to-N-Beziehung auf ein einfaches Look-up mit einem unterstützenden Auswahlfeld.
- 7:27Die Geschäftslogik wurde leicht überarbeitet,
- 7:29sodass kein dynamisches Auflösen mehrerer verknüpfter Datensätze mehr nötig war,
- 7:32was zu einer sofortigen Reduzierung der Ladezeit um 80% führte.
- 7:38Diese Verbesserung lag nicht daran, dass der Datensatz schrumpfte oder die Hardware besser wurde.
- 7:42Es lag einzig daran, Dataverse einen einfachen und direkteren Weg
- 7:45zu den benötigten Informationen zu geben, zu geben.
- 7:48Alternative Designs wie das Vereinfachen von Strukturen können sich ebenfalls auszahlen.
- 7:52Manchmal muss ein Datenelement nicht in einer eigenen dedizierten Tabelle liegen.
- 7:56Wenn es wartungsarm ist und sich selten ändert, bedeutet das
- 7:59Speichern direkt im Hauptdatensatz als Auswahlfeld einen Join weniger beim Abrufen.
- 8:03Ähnlich können einige Verknüpfungstabellen durch berechnete oder Roll-up-Felder ersetzt werden,
- 8:09wenn sie hauptsächlich zur Anzeige zusammengefasster Informationen dienen.
- 8:13Dadurch bleibt die Darstellungsebene schnell und rechenintensive Abfragevorgänge im Hintergrund werden vermieden.
- 8:17Die Kernbotschaft lautet, beim Beziehungsdesign geht es nicht nur um logische Klarheit
- 8:22oder die Einhaltung von Normalisierung-Standards.
- 8:25Es geht auch darum, die Ausführungskosten zu verstehen.
- 8:28Jeder gewählte Beziehungstyp ändert, wie Dataverse ihre Daten abrufen, verknüpfen und verarbeiten muss.
- 8:33Muss?
- 8:35Wenn Sie sich nur auf das Aussehen des Schemas konzentrieren, ohne die Ausführung zu berücksichtigen.
- 8:38Halten Sie eine Struktur, die auf dem Papier perfekt ist, sich in der Produktion aber quälend langsam anfühlt.
- 8:43Und während die Optimierung von Beziehungen einen großen Teil dieses Verarbeitungsaufwands beseitigt,
- 8:49gibt es einen weiteren Faktor, der die Reaktionsgeschwindigkeit von Dataverse bestimmt,
- 8:52die Indizierungsstrategie, die diesen Abfragen zugrunde liegt.
- 8:57Indizierung der stille Leistungsbeschleuniger
- 8:59Abfragen sind nur so schnell wie die Pfade, die Sie nutzen können.
- 9:02Und in Dataverse bestimmt die Indizierung diesen Pfad.
- 9:05Die meisten Entwickler wissen zwar, dass Indizes existieren,
- 9:08doch in der Praxis ist dies einer der am wenigsten verstandenen Aspekte der Leistungsoptimierung.
- 9:11Sie können eine saubere Tabellenstruktur und optimierte Beziehungen haben.
- 9:16Aber wenn Dataverse die benötigten Datensätze nicht schnell findet,
- 9:19bremst die langsamste Suche alles andere aus.
- 9:22Stellen Sie es sich so vor, als würden Sie eine einzelne Kiste in einem riesigen Lagerhaus suchen.
- 9:26Ohne Indizierung laufen Sie Gang für Gang ab und prüfen jedes Regal, bis Sie das Richtige gefunden haben.
- 9:33Das funktioniert bei einem kleinen Lager,
- 9:34aber wenn Sie auf Millionen von Artikeln skalieren, wird es absurd.
- 9:37Ist absurd.
- 9:38Indizierung ist gleichbedeutend mit einer präzisen Karte und dem direkten Weg zum richtigen Regal.
- 9:43Je weniger Arbeit Dataverse hat, um einen Datensatz zu finden,
- 9:45desto schneller laufen alle Ansichten, Filter und Automatisierungen.
- 9:49Dataverse erstellt automatisch bestimmte Indizes für Sie.
- 9:53Hauptsächlich für Primärschlüsse, Suchfelder und einige Systemspalten.
- 9:56Deshalb funktionieren neue Umgebungen oft auch ohne manuelle Indizierung gut,
- 10:00aber die automatische Indizierung hat ihre Grenzen.
- 10:02Komplexe Abfragen mit mehreren Bedingungen, insbesondere bei benutzerdefinierten Spalten,
- 10:06können dazu führen, dass große Teile der Tabelle durchsucht werden,
- 10:09da kein gezielter Index vorhanden ist.
- 10:11An diesem Punkt bemerken Sie langsame Dashboards, verzögerte Berichte und Listenansichten,
- 10:15die nicht flüssig laden.
- 10:16Das andere Extrem, eine Überindizierung, kann genauso schlimm sein.
- 10:21Jedes Mal, wenn Sie einen Datensatz einfügen, aktualisieren oder löschen,
- 10:24muss Dataverse alle relevanten Indizes pflegen.
- 10:27Zu viele benutzerdefinierte Indizes können die Schreibzeiten erhöhen
- 10:29und Massenaktualisierungen verlangsamen.
- 10:33Die Kunst besteht darin zu wissen, welche Spalten einer Indizierung wert sind
- 10:36und ebenso wichtig, welche nicht.
- 10:38Indizes sind am wertvollsten für Felder, die häufig in Filtern, Sortierungen oder Verknüpfungen verwendet werden,
- 10:43nicht für Felder, die nur gelegentlich in Formularansichten wichtig sind.
- 10:46Bei einer hochfrequentierten Serviceanforderungstabelle beispielsweise dauerten Berichte bis zu 6 Sekunden,
- 10:51nur um eine gefilterte Liste für Manager bereitzustellen.
- 10:54Das Hauptproblem war, dass die Filterung auf einer benutzerdefinierten Anforderungstyp-Spalte
- 10:58ohne dedizierten Index erfolgte.
- 11:00Das Hinzufügen eines nicht gruppierten Index auf dieser Spalte
- 11:02reduzierte die Abfragezeit sofort auf unter 200 Millisekunden.
- 11:06Das ist keine geringfügige Verbesserung.
- 11:07Es veränderte das Gefühl der App für die täglichen Benutzer grundlegend.
- 11:10Und das Beste daran, es erforderte keine Änderung am eigentlichen Datenmodell oder der UI-Lubic,
- 11:14nur einen intelligenteren Abrufpfad.
- 11:16Doch diesen Vorteil erst im Nachhinein zu nutzen, ist nicht ideal.
- 11:20Das nachträgliche Hinzufügen von Indizes in einem Live-System birgt Risiken.
- 11:24Sie müssen Schreibauswirkungen testen, Änderungen während schwacher Nutzungszeiten planen
- 11:27und manchmal den Migrationsaufwand bewältigen, wenn die Tabelle extrem groß ist.
- 11:32Im Gegensatz dazu macht die Planung Ihrer Indexstrategie vor dem Live-Gang
- 11:35das gesamte System widerstandsfähiger.
- 11:38Sie können Indizes von Anfang an auf Ihre häufigsten Abfragen abstimmen
- 11:40und so die Notwendigkeit für spätere Notfallleistungsoptimierung reduzieren.
- 11:44Ein guter Ansatz während der Schemaplanung ist es,
- 11:46Ihre zugriffsstärksten Abfragen zu kartieren und zu identifizieren,
- 11:48nach welchen Feldern Sie häufig filtern.
- 11:50Wenn Sie wissen, dass eine Ansicht oder ein App-Bildschirm
- 11:52immer nach einer bestimmten Spalte sortiert,
- 11:54sollten Sie diese von Anfang an indizieren.
- 11:56Gleiches gilt für Join-Bedingungen und Beziehungen,
- 11:58von denen Sie wissen, dass Sie für den Workflow der App zentral sind.
- 12:00Überprüfen Sie dann regelmäßig die Index-Nutzungsstatistiken,
- 12:03um Kandidaten zu finden, die Sie löschen können,
- 12:05da sie in realen Abfragen selten verwendet werden.
- 12:08Indizierung ist nicht auffällig und erscheint nicht in der UI
- 12:11wie ein neues Formular oder Dashboard, aber sie ist ein stiller Multiplikator.
- 12:16Jede optimierte Abfrage profitiert davon
- 12:18und jede schlecht indizierte wird zur Bremse, wenn Ihr Datensatz wächst.
- 12:21Eine effektive Indexstrategie sichert Leistungsspielraum
- 12:24und verwandelt die Abfrageausführung von einem potenziellen Engpass
- 12:26in eine zuverlässige Stärke.
- 12:28Aber es gibt noch einen weiteren Hebel, den man betätigen kann.
- 12:31Um Dataverse bei Skalierung wirklich schnell zu halten,
- 12:34müssen Sie davon wegkommen, Engpässe erst nach Ihrem Auftreten zu beheben
- 12:37und stattdessen so designen, dass sie gar nicht erst entstehen.
- 12:41Von reaktiven Korrekturen hin zu proaktiver Architektur.
- 12:44Die meisten Leistungsanpassungen in Dataverse fühlen sich wie Brandbekämpfung.
- 12:47Ein Benutzer meldet langsame Formulare,
- 12:48sie führen einige Prüfungen durch,
- 12:50nehmen chirurgische Änderungen vor und hoffen, dass es sich bessert.
- 12:52Aber was wäre, wenn Sie so bauen könnten,
- 12:54dass diese Probleme gar nicht erst auftreten?
- 12:56Die stille Wahrheit ist, dass die schnellsten und stabilsten Dataverse-Apps
- 12:59nicht nur gut abgestimmt sind,
- 13:01nimmt, sie wurden vom ersten Tag an mit Blick auf Skalierbarkeit entwickelt.
- 13:05Frühzeitige architektonische Planung ist der günstigste Leistungsschub,
- 13:08den Sie jemals implementieren werden.
- 13:10Es geht nicht darum, vorsorglich zusätzliche Ebenen hinzuzufügen,
- 13:13sondern darüber nachzudenken,
- 13:14wie sich Ihre Tabellen, Beziehungen und Indizes verhalten,
- 13:16wenn die App unter voller Produktionslast steht.
- 13:19In der Entwicklungsphase sind Änderungen kostengünstig.
- 13:23Sobald die App live ist, erfordert dieselbe Änderung die Überarbeitung
- 13:26Dutzender Flows, Dashboards und Modellgestalterformulare.
- 13:30Der Unterschied im Aufwand ist gewaltig.
- 13:31Ich habe mit Teams gearbeitet,
- 13:32die erst kurz vor dem Go-Live-Leistungstest durchgeführt haben.
- 13:36Alles war logisch aufgebaut,
- 13:37sah im Schema sauber aus und funktionierte im URT einwandfrei.
- 13:41Doch dann luden Analyseberichte minutenlang Power-Automate-Flows,
- 13:44liefen ab und bestimmte Formulare öffneten sich nur sporadisch einiges.
- 13:49In einem Fall musste eine zentrale Planungs-App
- 13:51komplett zerlegt und neu aufgebaut werden,
- 13:54da wichtige Abfragen auf nicht indizierten Feldern
- 13:56in N-zu-M-Beziehungen basierten.
- 13:58Der Neuaufbau verschob den Go-Live um drei Monate
- 14:01und kostete wochenlang Entwickler- und Testzeit.
- 14:03Das ist Pö.
- 14:04Der Schlüssel zur Vermeidung dieses Szenarios
- 14:06ist Leistung als Designanforderung zu betrachten,
- 14:08nicht als nachträglichen Gedanken, nicht als nach.
- 14:11Das bedeutet, die Indizierung bereits beim Tabellendesign zu planen,
- 14:13die Filterfelder zu kennen und sicherzustellen,
- 14:15dass sie effizient durchsuchbar sind.
- 14:18Es bedeutet, der Versuchung zu widerstehen,
- 14:20beim Prototyping vorsichtshalber dutzende Felder hinzuzufügen,
- 14:23da jedes davon Formulare und Transaktionen belastet.
- 14:27Und es bedeutet, Beziehungen für Ihre Leistung
- 14:29bei Skalierung zu modellieren,
- 14:30nicht nur für eine saubere Darstellung im Workshop.
- 14:33Wenn Sie Leistung als Teil der Architektur begreifen,
- 14:36sind Sie deutlich weniger auf Federbehebung
- 14:37nach dem Deployment angewiesen.
- 14:39Sie erkennen potenzielle Engpässe,
- 14:41wenn ein Richtungswechsel noch einfacher ist.
- 14:42Wenn ein Beziehungsmodell Verknüpfungen
- 14:45in großen Datensätzen verlangsamen würde,
- 14:47finden Sie eine alternative Struktur,
- 14:48bevor Sie ein Live-System antreibt.
- 14:50Wenn ein Index eine stark frequentierte Ansicht beschleunigen kann,
- 14:52fügen Sie ihn hinzu, bevor die Ansicht geschäftskritisch wird.
- 14:55Das ist deutlich einfacher als Anwendern zu erklären,
- 14:57warum Ihre App anders funktioniert,
- 14:59nur weil Sie etwas reparieren mussten,
- 15:00von dem Sie nichts wussten.
- 15:02Es gibt Tools im Microsoft-Ökosystem,
- 15:04die diese proaktive Denkweise wesentlich erleichtern.
- 15:06Der Lösungschecker scannt Ihre Umgebung
- 15:09und weist auch Muster hin,
- 15:10die Leistungseinbußen verursachen könnten.
- 15:14Leistungseinblicke im Power-Plattform-Admin-Center
- 15:16helfen Ihnen, langsame Abfragen zu finden,
- 15:17Ladezeiten zu verfolgen
- 15:18und Verzögerungen bei Abruf oder Rendering zu identifizieren.
- 15:23Diese Tools während der Entwicklung
- 15:25und vor Releases zu nutzen,
- 15:26ist die beste Leistungsgarantie,
- 15:28ohne dass Live-Anwender zu testern werden.
- 15:29Die Belohnung für diese Arbeitsweise ist simpel.
- 15:34Apps, die mit Fokus auf proaktive Leistung gebaut wurden,
- 15:36skalieren meist reibungslos mit minimalen Anpassungen.
- 15:39Wenn das Datenvolumen weg,
- 15:40stoßen Sie nicht plötzlich auf unerwartete Grenzen.
- 15:43Wenn neue Funktionen hinzugefügt werden,
- 15:44kommt nichts zum Stillstand,
- 15:45weil das ursprüngliche Design den nötigen Spielraum ließ.