在PHP中从集合中获取文档太长

时间:2014-04-17 12:47:30

标签: php mongodb

例如,我在集合中插入了10K文档:

for ($i = 0; $i < 100; ++$i) {
    for ($j = 0; $j < 100; ++$j) {
        $collection->insert(array('i' => $i, 'j' => $j));
    }
}

我创建了索引:

pkrs:PRIMARY> db.testTest.getIndexes()
[
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "ns" : "parts.testTest",
                "name" : "_id_"
        },
        {
                "v" : 1,
                "key" : {
                        "i" : 1,
                        "j" : 1
                },
                "ns" : "parts.testTest",
                "name" : "i_1_j_1"
        }
]

然后我想用&#39; OR&#39;来获取600个文件。条件:

for ($i = 5; $i < 12; ++$i) {
    for ($j = 0; $j < 100; ++$j) {
        $orArr[] = array('i'=>$i, 'j' => $j);
    }
}
$cursor = $collection->find(array('$or' => $orArr));
$cursor->batchSize(1000);
foreach ($cursor as $doc) {
   // code
}

第一份文件提取约1.5秒! :( 如何提高绩效?

0 个答案:

没有答案