一、MongoDB查询优化器

1、MongoDB查询优化器

1)MongoDB查询优化器会选择最优的一条执行计划来执行SQL。

2)查询优化器会缓存那些有多条可用索引的SQL的执行计划条目

2、查询优化器原理

1)对于每个SQL,查询优化器会先在在执行计划缓存中查找执行计划

2)如果没有匹配到相应的执行计划,查询优化器会生成备选执行计划,并评估他们各自的消耗,选择中最佳执行计划,并将23)这些执行计划放入缓存中

3)MongoDB根据最优执行计划返回结果

4)如果匹配到可用的执行计划,MongoDB会通过replanning的机制再次评估当前执行计划的性能

5)如果评估成功,使用该执行计划返回结果

6)如果评估失败,查询优化器重复2)操作,最终选择最优执行计划返回结果

image

3、执行计划缓存刷新机制

1)删除集合或者索引会重新刷新执行计划缓存

2)执行计划缓存在

收藏 打印