Ich benutze PHP und mongodb. Ich habe System-Profiling auf alles über 20ms eingeschaltet, mit mongodb 2.0.4. Wenn ich eine einfache Seite mit jeder kleinen Abfrage lade, zeichnet es im Systemprofil die gleiche Frage auf wie 4, 10, manchmal 24 mal! Und die Seiten laden deswegen sehr langsam! Warum passiert das?MongoDB mit PHP macht die gleiche Abfrage 4-30 mal
Die Abfrage kann als so einfach sein:
$c2 = $things->find();
foreach($c2 as $doc) {
// some code...
}
Dank !!
EDIT: Voll Code:
<?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);
?>
Können Sie ein größeres Code-Snippet posten? – alxbrd
Vollständiger Code hinzugefügt. –
Korreliert die Anzahl der Abfragen mit irgendetwas auf der Seite? Die Anzahl von $ doc zurückgegeben zum Beispiel? Ich denke nur, es könnte ein Nachschlagen wiederholen, wenn Sie '$ doc ['_ id']' aus irgendeinem Grund lesen – Paystey