478 浏览2020/11/26性能问题 0 kunpeng12 2020/11/25 0条评论 最近碰到一个问题,在上亿数据中进行范围查询,建了索引,范围查询全部查出来是很快的,0.3s左右。但是对范围查询的结果进行count统计时,速度慢了几十甚至上百倍。 建索引的语句:db.student.ensureIndex({“age”: 1}) 查询语句:db.student.find({“age”: {$lt: 23}}) 统计语句:db.student.count({“age”: {$lt: 23}}) 请问下,对数据查询后统计,应该怎样优化 zale 已回答的问题 2020/11/26 1 答案 活跃已投票最新最老的 1 zale342 发布 2020/11/26 0 条评论 find() 默认有条数的限制,走索引会很快。 count() 需要将符合条件的所有数据都扫描一遍,数据量一大会很慢。 建议重新审视 count 的需求,避免对数据库做频繁的此类操作 zale 已回答的问题 2020/11/26 您正在查看1个答案中的1个,单击此处查看所有答案。 注册 或 登录