1.执行计划各种字段意义
- COLLSCAN
全表扫描,避免 - IXSCAN
索引扫描,可以改进 选用更高效的索引 - FETCH
根据索引去检索指定document - SHARD_MERGE
将各个分片返回数据进行merge,尽可能避免跨分片查询 - SORT
表明在内存中进行了排序(与老版本的scanAndOrder:true一致),排序要有index - LIMIT
使用limit限制返回数,要有限制 Limit+(Fetch+ixscan)最优 - SKIP
使用skip进行跳过,避免不合理的skip - IDHACK
针对_id进行查询,推荐,_id 默认主键,查询速度快 - SHARDING_FILTER
通过mongos对分片数据进行查询,SHARDING_FILTER+ixscan最优 - COUNT
利用db.coll.explain().count()之类进行count运算 - COUNTSCAN
count不使用Index进行count时的stage返回,避免 这种情况建议加索引 - COUNT_SCAN
count使用了Index进行count时的stage返回,推荐 - SUBPLA
未使用到索引的$or查询的stage返回,避免 - TEXT
使用全文索引进行查询时候的stage返回 - PROJECTION
限定返回字段时候stage的返回,选择需要的数据, 推荐PROJECTION+ixscan