Erstellen Sie performante Anfragen und konfigurieren Sie MongoDB, um Anfragen so effizient wie möglich zu verarbeiten.

Datentabellen-Metadatenanfragen im DataFrame-Dienst nutzen MongoDB intensiv. Diese Anfragen können aus verschiedenen Gründen langsam ausgeführt werden oder ein Timeout verursachen.

Schlecht konstruierte Anfragen beeinträchtigen die Leistung des DataFrame-Dienstes. Diese Beeinträchtigung kann auch die Dienste beeinflussen, die mit derselben MongoDB-Instanz wie der DataFrame-Dienst verbunden sind.

Erstellen von Effiziente DataFrame-Dienstanfragen

Befolgen Sie beim Erstellen einer performanten Anfrage für den DataFrame-Dienst bestimmte Richtlinien.

Richtlinie Beschreibung
Fügen Sie eine Klausel hinzu, die einen Gleichheitsfilter für ein indiziertes Feld mit hoher Kardinalität in alle Anfrageklauseln einfügt.
Hinweis Ein hochkardinales indiziertes Feld enthält meist eindeutige Werte.

Diese Klauseln ermöglichen es der Datenbank, den Suchraum für Anfragen effizient auf eine kleine Anzahl von Datenbankeinträgen zu reduzieren.

Beispielklauseln umfassen das Feld TestResultId oder jedes hochkardinale Feld mit konfiguriertem Index.

Hinweis Per Standardeinstellung indiziert SystemLink das Feld TestResultId und das Feld Id.
Die Klausel sollte außerdem einen der folgenden Filter enthalten:
  • Ein einfacher Gleichheitsfilter für das hochkardinale indizierte Feld.
  • Ein Filter, der prüft, ob das Feld einem von mehreren Werten entspricht.
Ordnen Sie alle Ergebnisse nach dem Feld RowsModifiedAt.

Die vom DataFrame-Dienst erstellten Indizes unterstützen eine effiziente Ordnung nach RowsModifiedAt. Die Ordnung nach anderen Feldern erfordert eine aufwendige Sortierung im Speicher der Datenbank.