欢迎大家!
我使用MongoDB为我的symfony2应用程序带来了奇怪的性能下降
创建问题的查询如下:
$posts=$dm->getRepository('ngNearBundle:Posts')
->findBy(array('author'=>new \MongoId($userId)), array('date' => -1),5);
对于用户(数据库中的第一个),整个页面加载100ms。对于其他用户,需要500毫秒。
我的假设
第一个用户有近140K的帖子,其中第二个只有3个帖子,所以为了收集限制(5个帖子),光标应该导航所有数据库,寻找5个帖子,但只找到3个。
如果您同意我的假设,我该如何解决这个问题,Indexes可以帮助我吗?
我有一个关于字段作者的索引,但是因为99%的帖子是由用户1编写的,所以Mongo很容易为该用户获取数据吗?
请赐教。