mongodb lte и gte выполнение запроса занимает слишком много времени

это мой запрос на поиск номера записи за один час

         $rec=0;
$acst1 = new \MongoDB\BSON\UTCDateTime(strtotime('2017-10-30 21:00:00')*1000);
$acst2 = new \MongoDB\BSON\UTCDateTime(strtotime('2017-10-30 22:00:00')*1000);

$collection1 = $db->CR800;
$filter1 = array(TIMESTAMP=> array('$gte' => $acst1, '$lte' => $acst2));
$rec= $collection1->count($filter1);

когда я выполняю этот запрос, это занимает 16 секунд для выполнения и когда удалить
условие больше, чем меньше, тогда запрос выполняется всего за 300 мс

в коллекции более 20 миллионов документов

Есть ли способ оптимизировать этот запрос и сократить время выполнения?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]