In mongo db
> show dbs
admin (empty)
data 23.9423828125GB
local (empty)
У меня есть таблица с индексом:
> db.XXX.count();
80089670
C #:
voteCol.EnsureIndex("({ YYY:1 })");
Когда я делаю запрос сдрайвер C #:
MongoCollection<BsonDocument> voteCol = database.GetCollection<BsonDocument>("XXX");
var query = new QueryDocument("YYY", DataUtils.getItemInPollIdList());
MongoCursor<BsonDocument> cursor = voteCol.Find(query).SetSortOrder(SortBy.Descending("ZZZ")).SetLimit(10).SetSkip(20);
Время выполнения для этой части кода близко к 0.
Тогда, когда я пытаюсь получить размер курсора
cursor.Size();
Я получил тайм-аут.
Невозможно прочитать данные из транспортного соединения: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так какподключенному хосту не удалось ответить.
В журнале Mongo
Пн 22 августа 10:08:50 [conn9] запрос данных.: 80089670 {ГГГГ: "1482092"} возвращено: 0 48935мс
Что это может быть?Когда запрос действительно выполняется?Почему я не могу получить результаты?
Редактировать 1: Добавлен новый индекс
Пн 22 августа 10:17:38 [conn12] построение нового индекса на {({YYY:-1}): 1} для data.XXX
4000000/80089670 4%
7866400/80089670 9%
11403000/80089670 14%
15000000/80089670 18%
19000000/80089670 23%
22988600/80089670 28%
26454700/80089670 33%
30000000/80089670 37%
33438600/80089670 41%
37000000/80089670 46%
40810600/80089670 50%
44132200/80089670 55%
48000000/80089670 59%
52000000/80089670 64%
55618300/80089670 69%
59000000/80089670 73%
62170100/80089670 77%
66000000/80089670 82%
70000000/80089670 87%
74000000/80089670 92%
77874500/80089670 97%
Даже с новым индексом - та же проблема: оболочка Mongo:
> printjson(db.XXX.findOne({YYY:"1517077"}));
MongoLog
Mon Aug 22 10:33:40 [conn4] query data.XXX ntoreturn:1 reslen:36 nscanned:80089670 { YYY: "1517077" } nreturned:0 48751ms