24.44K 浏览2015/09/08驱动程序 0 liaoxiaoyi@126.com0 2015/09/08 0条评论 同样的查询语句,在mongodb的shell中输入,能很快的返回结果,而C驱动中的mongo_find,如果查询结果只有几千条,速度还是比较快的,但是,当查询结果为几万条以上时,速度就变得非常慢,需要几秒甚至几分钟才能返回。 我查看了日志,发现有时查询有get more的情况,是不是C驱动再处理get more的情况下,需要较长的时间? 1 答案 活跃已投票最新最老的 0 TJ130 发布 2015/09/15 0 条评论 原因可能有多个: 1) mongo shell 默认只返回20条结果,需要敲入 “it” 来获得下20条。这是它执行快的原因 2)当结果集大的时候,可以测试一下网络带宽、延迟等确认不是网络瓶颈 3)在驱动中有bson到对象的转换开销。需要用相应的程序profiling工具来确定是否驱动转换效率太低的问题。 注册 或 登录