Construisez des requêtes performantes et configurez MongoDB pour traiter les requêtes aussi efficacement que possible.

Les requêtes de métadonnées de tableaux de données dans le service DataFrame font un usage intensif de MongoDB. Ces requêtes peuvent s'exécuter lentement ou expirer pour diverses raisons.

Des requêtes mal construites dégradent les performances du service DataFrame. Cette dégradation peut également affecter les services connectés à la même instance MongoDB que le service DataFrame.

Création de requêtes de service DataFrame efficaces

Suivez certaines indications lorsque vous construisez une requête performante pour le service DataFrame.

Conseils Description
Incluez une clause qui ajoute un filtre d'égalité sur un champ indexé à cardinalité élevée dans toutes les clauses de requête.
Remarque Un champ indexé à cardinalité élevée contient principalement des valeurs uniques.

Ces clauses permettent à la base de données de réduire efficacement l'espace de recherche de requête à un petit nombre d'entrées de base de données.

Les clauses d'exemple incluent le champ TestResultId ou tout champ à cardinalité élevée avec un indice configuré.

Remarque Par défaut, SystemLink indexe les champs TestResultId et Id.
La clause devrait également inclure un des filtres suivants :
  • Filtre d'égalité simple sur le champ indexé à cardinalité élevée.
  • Filtre qui vérifie si le champ est égal à une ou plusieurs valeurs.
Ordonner tous les résultats par le champ RowsModifiedAt.

Les indices créés par le service DataFrame permettent un ordonnancement efficace par RowsModifiedAt. L'ordonnancement par d'autres champs nécessite un tri en mémoire coûteux dans la base de données.