私はPHPとmongodbを使用しています。私はmongodb 2.0.4を使用して、20ms以上のシステムプロファイリングを有効にしました。すべての小さなクエリで単純なページを読み込むと、4、10、時には24回といった同じクエリがシステムプロファイルに記録されます。そしてそのページは非常に遅くロードされます!なぜそれが起こっているのですか?PHPとMongoDBは同じクエリを実行しています4-30回
問合せは、のように簡単になります
$c2 = $things->find();
foreach($c2 as $doc) {
// some code...
}
感謝!!
EDIT:フルコード:
<?php
$m = new Mongo();
$db = $m->selectDB("test");
function getAllData ($db) {
$some = $db->some;
$cursor = $some->find();
$js = "function() {
return ((";
foreach ($cursor as $doc) {
$js .= "this.idE == '" . $doc['_id'] . "' || ";
}
$js = substr($js,0,-4);
$js .= ")";
$js .= ");}";
$names = $db->names;
$c2 = $names->find(array('$where' => $js));
foreach($c2 as $doc) {
echo $doc['name'];
}
}
getAllData ($db);
?>
大きなコードスニペットを投稿できますか? – alxbrd
フルコードを追加しました。 –
クエリの数はページ上の何かに関連していますか?返される$ docの数は?何らかの理由で '$ doc ['_ id']'を読むときにルックアップをやり直すことができると思っています – Paystey