Индекс в mongodb? - PullRequest
       66

Индекс в mongodb?

1 голос
/ 11 апреля 2020

Каким образом totalKeysExamined и totalDocsExamined могут быть одинаковыми? enter image description here Как в этом B-дереве, когда мы хотим найти индекс 12. Затем последовательность индекса, следующая за первой, будет слева от 13, затем справа от (9, 11), а затем, наконец, мы получим 12, так что количество изученных ключей равно трем, и документ, к которому необходимо получить доступ.

Так может кто-то объяснить, пожалуйста, объясните мне концепция totalKeysExamined и totalDocsРассмотрено подробно и простым способом?

1 Ответ

0 голосов
/ 11 апреля 2020

Поля totalKeysExamined и totalDocsExamined хорошо объяснены в документации: https://docs.mongodb.com/manual/tutorial/analyze-query-plan/ вы должны прочитать это там. Не имеет смысла копировать все примеры в мой ответ.

totalKeysExamined: Указывает количество отсканированных проиндексированных записей. В вашем примере, если бы вы искали значение = 12, оно вернуло бы только 1, поскольку только одна запись соответствует значению = 12. Это не учитывает, как может возникнуть необходимость передачи структуры хранения, просто подсчитывает, как документы могут соответствовать условию индексированного фильтра .

totalDocsExamined: указывает количество проверенных документов. Если значения совпадают с totalKeysExamined, это означает, что ваш запрос имеет хорошее покрытие по индексу (условие фильтра проиндексировано), но, например, другие поля также должны быть проверены, чтобы выполнить другое условие фильтра, или просто весь документ имеет быть загруженным для запрошенного результата.

...