Пользовался ли Explain

«Пользовался ли Explain» — вопрос из категории Базы данных, который задают на 28% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, пользовался. Explain — удобный инструмент для анализа запросов в MongoDB. Он показывает план выполнения запроса, что помогает оптимизировать производительность.

Пример использования в Go с драйвером mongo-go-driver:

cmd := bson.D{{"explain", bson.D{
    {"find", "users"},
    {"filter", bson.D{{"age", bson.D{{"$gt", 25}}}}},
}}}
var result bson.M
err := db.RunCommand(context.TODO(), cmd).Decode(&result)
if err != nil {
    log.Fatal(err)
}
fmt.Println(result)

Вывод включает стадии выполнения, индексы и время. Это полезно для отладки сложных запросов.