我在MongoDB中有一个包含2000万个文档的集合,并为该集合创建了一个索引。我已经确认find()查询使用了索引(col_1_col_2) (使用解释确认)。但是,我已经注意到,一天中的第一个find()查询需要5-10秒,但是后续的所有查询都需要不到100 ms。
更新的DB统计数据: db..stats() ns。编号20135438 size 5694.57m avgObjSize 296.55146314672 storageSize 7109.57m numExtents 35 nindexes 4 lastExtentSize 1188.86m paddingFactor 1标志1 totalIndexSize 3044.69m indexSizes { "id":653319632,"col_1_col_2":691730480,"col2_1":848832320,"col1_1":998706576 } ok 1 {top:1} 18 readLock 16
问题:第一个查询为什么要花费更长的时间?2这与在RAM中加载索引有关吗?
发布于 2011-11-16 15:53:26
在第一个请求期间检查磁盘活动。它可能与将数据从磁盘安装到RAM有关。
如果您使用linux : iostat,-m 1将帮助您。
https://stackoverflow.com/questions/8151039
复制相似问题