分配的缓存默认会使用内存的一半减去1G,如果部署多个实例的时候应该相应的减少缓存大小的配置。
分片的启动参数中添加以下配置:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 20
优化SQL方法:
db.inventory.find(
{ quantity: { $gte: 100, $lte: 200 } }
).explain(“executionStats”)
<1>COLLSCAN
这个是什么意思呢? 如果你仔细一看,应该知道就是CollectionScan,就是所谓的“集合扫描”,对不对,看到集合扫描是不是就可以直接map到
数据库中的table scan/heap scan呢??? 是的,这个就是所谓的性能最烂最无奈的由来。
<2> nReturned
这个很简单,就是所谓的numReturned,就是说最后返回的num个数,从图中可以看到,就是最终返回了三条。。。
<3> docsExamined
那这个是什么意思呢??就是documentsExamined,检查了10个documents。。。而从返回上面的nReturned。。。
http://www.linuxidc.com/Linux/2016-11/136736.htm