Php MongoDB计数非常慢

Php MongoDB计数非常慢,php,mongodb,mongodb-php,Php,Mongodb,Mongodb Php,我收集了150万份文件。我正在使用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->s

我收集了150万份文件。我正在使用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吗


谢谢。

您有两个单独的索引-一个查询一次只能使用一个索引,因此您没有充分利用索引。在这两个字段上尝试一个复合索引,您将看到显著的改进。

这是最重要的问题。您需要一个索引{sometext:1,datsbla:1}来加快速度。如果你真的不能只在最高基数字段上建立索引,但不能同时在这两个字段上建立索引+1.