объяснение () не работает на count () в MongoDB 3.6, в то время как исследование, пока count () очень медленный - PullRequest
0 голосов
/ 17 октября 2018

У меня есть база данных с 17 млн ​​документов.Когда я запускаю запрос:

db.mycoll.find({ "timestamp" : { "$gt" : 1537401600000 , "$lt" : 1539820800000}})

это занимает 0,013 с

, но

  db.mycoll.find({ "timestamp" : { "$gt" : 1537401600000 , "$lt" : 1539820800000}}).count()

занимает 4,01 с

Я хочу выяснить, есть лилюбой способ ускорить подсчет, поэтому я написал:

db.mycoll.find({ "timestamp" : { "$gt" : 1537401600000 , "$lt" : 1539820800000}}).count().explain();

или

db.mycoll.count({ "timestamp" : { "$gt" : 1537401600000 , "$lt" : 1539820800000}}).explain();

через несколько секунд возвращает мне ошибку:

Failed to execute script.

Error:
TypeError: db.mycoll.count(...).explain is not a function :
@(shell):1:1

, но этот запрос работает внесколько миллисекунд:

db.mycoll.find({ "timestamp" : { "$gt" : 1537401600000 , "$lt" : 1539820800000}}).explain();

Можно ли увидеть, какой план выполнения выполняется для count() запроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...