【发布时间】:2013-12-24 22:37:31
【问题描述】:
MongoDB 官方文档指出,查询优化器将在几个事件后删除并重新评估查询计划,其中之一是“集合收到 1,000 次写入操作”。强> http://docs.mongodb.org/manual/core/query-plans/#query-plan-revision
假设一个集合每秒经历数百次写入操作,查询将遭受性能下降,因为优化器将一次又一次地运行多个计划。
除了使用提示之外,还有什么方法可以解决这个问题吗?可以以某种方式调整优化器以允许更大的流失量吗?
非常感谢,
投资回报率
【问题讨论】:
-
你有证据表明这是一个问题吗?
-
进行了以下小测试: 1. 对具有多个候选索引的集合执行查询,将结果集限制为 150 个文档(大于所需阈值)。 2. 第一次执行时,mongod 的详细 (-vv) 输出包含以下内容:“runQuery called Test.demo {
}”,然后立即出现以下行:“running multiple plans” 3. 第二次执行相同的查询没有显示“运行多个计划” 4. 将 1,000 个文档插入集合中并重新运行查询 5. 出现“运行多个计划”,执行速度较慢
标签: mongodb