MongoDB считает очень медленно - PullRequest
2 голосов
/ 23 марта 2012

У меня есть коллекция с 1,5 миллионами документов.Я считаю с помощью PHP:

$db->some->ensureIndex(array("sometext" => 1));
$db->some->ensureIndex(array("datsbla" => 1));
$arr["sometext"] = $string; 
$arr["datsbla"] = array('$gte' => $some, '$lte' => $thing);
$count = $db->some->count($arr);

Я включил профилировщик, и каждый такой подсчет похож на 4500 мс.У меня на странице 20 таких счетчиков, и это делает мою веб-страницу ОЧЕНЬ ОЧЕНЬ МЕДЛЕННОЙ.

Что мне нужно сделать, чтобы сделать ее быстрее (<100 мс)?Возможно ли даже использовать MongoDB? </p>

Спасибо.

1 Ответ

2 голосов
/ 23 марта 2012

У вас есть два отдельных отдельных индекса - запрос может использовать только 1 индекс за один раз, поэтому вы не используете в полной мере преимущества индексации. Попробуйте составной индекс в обоих полях, и вы увидите значительное улучшение.

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