Mongodb 如何根据不同情况应用/选择getPlanCache()和hint()
我已经阅读了官方文档,了解了getPlanCache()和hint()的基本概念Mongodb 如何根据不同情况应用/选择getPlanCache()和hint(),mongodb,mongodb-query,Mongodb,Mongodb Query,我已经阅读了官方文档,了解了getPlanCache()和hint()的基本概念 getPlanCache() 显示指定查询形状的缓存查询计划 查询优化器仅缓存那些可以有多个可行计划的查询形状的计划 正式文件: 提示() $hint运算符强制查询优化器使用特定索引来完成查询。通过索引名称或文档指定索引 正式文件: MyQuestion 如果我可以确保特定集合可以缓存计划,我就不需要使用hint()来确保优化的性能。对吗 我已经阅读了官方文档,了解了getPlanCache()和hint(
- getPlanCache()
- 提示()
hint
(在测试查询计划之外),因为这会绕过查询计划器并强制使用提示索引,即使可能有更有效的索引可用
如果某个特定查询没有按预期执行,则是深入了解查询计划过程的最佳起点。如果您不确定如何优化特定查询,我建议您发布一个问题,包括explain(true)
(verbose explain)的输出和您的MongoDB服务器版本
有关有用的演示,请参见:(2017年6月)