Итак! Установил MongoDB. Прежде чем рваться в бой и добавлять туда реальные данные, решил немного поиграть с базой и каково было мое удивление, когда запрос на выборку занял аж 4 секунды при том, что там
всего 3кк(миллиона) тестовых маленьких документов. Может быть я что-то не так делаю? Собственно вопрос очевиден. Как добиться нормальной скорости выборки данных? Ниже привожу код и данные с которыми тестировал.
$connection = new MongoClient('192.168.1.102:27017');
$db = $connection->mongo;
$collection = $db->user;
$i = 0;
$this->timer_start();
while($i < 3000000){
$doc = array(
"user_id"=>$i,
"user_name"=>"john_smith",
"first_name"=>"John",
"last_name"=>"Smith",
"phone"=>array(
"+48576938575773732",
"+23423429384239489",
),
);
$i++;
$collection->insert($doc);
}
echo "Insert in database: ".$this->timer_stop()."<hr>";
$filter = array("user_id"=>999999);
$this->timer_start();
$docs = $collection->find($filter);
echo $docs->count()."<hr>";
print_r($docs->getNext());
echo "<hr>";
echo "Search in database: ".$this->timer_stop()."<hr>"; //4,0992350578308