J'ai une collection X sur laquelle je dois appliquer un filtre.Algorithme d'optimisation de la recherche d'index composé dans MongoDb
Le filtre est enregistré comme une entité sepparate (filtres à) et les seules données qu'elle détient sont le nom du champ et les conditions appliqué à ce nom de domaine
Exemple de filtre:
Le nom est Stephan et l'âge BETWEEN 10, 20
Fondamentalement ce que je dois améliorer est le fait que chaque champ dans mon filtre est un index ajouté lors de la création du filt er.
La seule structure qui correspond est un index composé sur les champs filtrés.
En conclusion, le problème est que lorsque j'ai un filtre comme:
Nom est Stephan et âge entre 10,20
Mon indice composé MongoDB sera: { « Nom »: 1, « âge »: 1}
Mais, si j'ajoute un autre filtre, disons: L'âge est 10 et le nom est Adrian et hauteur entre 170.180
indice composéest: { « âge »: 1, 'Nom ': 1,' Hauteur ': 1}
{ 'Nom': 1, 'âge': 1} <> { 'âge': 1, 'Nom': 1, 'Hauteur': 1}
Que puis-je faire pour le dernier ajustement de l'index avec le premier et l'inverse.
S'il vous plaît laissez-moi savoir si je n'ai pas été explicite.
Comment une intersection d'index pourrait-elle m'aider? Désolé mais je suis un peu flou sur le sujet. – Gabriel
L'intersection des index est une fonctionnalité qui permet à la base de données de combiner plusieurs index, pour ainsi dire. Vous n'avez donc pas besoin d'un index composé pour chaque combinaison possible d'index, mais d'un seul index par critère, par ex.un pour l'âge, le nom et la taille. C'est trois index au lieu de six, ou 'n' indices au lieu de' n! 'Indexes pour le cas général. – mnemosyn
Pouvez-vous s'il vous plaît me dire quelque chose de plus précis pour l'option 'questions à gamme infinie'? – Gabriel