MongoDB est une concaténation de la clé composée, d'une certaine façon, et qu'il utilise comme clé dans un Arbre.
Lors de la recherche d'objets à l'unité - L'ordre des nœuds dans l'arbre n'est pas pertinent.
Si vous êtes de retour d'une gamme de nœuds - Les éléments proches les uns des autres seront les mêmes branches de l'arbre. Plus les nœuds sont dans la gamme la plus rapide, ils peuvent être récupérés.
Avec un seul champ de l'index - L'ordre n'a pas d'importance. Si elles sont proches les uns dans l'ordre croissant, ils seront également regroupés dans l'ordre décroissant.
Lorsque vous avez un composé clé - L'ordre commence à la matière.
Par exemple, si la clé est Un ascendant B ordre croissant de l'indice pourrait ressembler à quelque chose comme ceci:
La Ligne A B
1 1 1
2 2 6
3 2 7
4 3 4
5 3 5
6 3 6
7 5 1
Une requête pour un ascendant B décroissant aurez besoin de sauter autour de l'index de commande pour retourner les lignes et sera plus lent. Par exemple, il sera de retour Ligne 1, 3, 2, 6, 5, 4, 7
Distance de la requête dans le même ordre que l'index renvoie simplement les lignes de manière séquentielle dans l'ordre correct.
Trouver un enregistrement dans un Arbre prend O(Log(n)) de temps. Trouver une plage d'enregistrements dans l'ordre n'est OLog(n) + k, où k est le nombre d'enregistrements à retourner.
Si les enregistrements sont dans l'ordre, le coût pourrait être aussi élevé que OLog(n) * k