我的收藏中有 70 亿条数据。我的数据模型是:
{“_id”:ObjectId(“515921e3bbea58d25eb07b22”),“serverId”:0,“counterId”:0,“插入”:ISODate(“2013-03-21T00:26:30Z”),“counterValue”:0.03256159112788737,“最小”:-29.967438408872113,“最大”:20.032561591127887}。
我有 2 个索引 serverId,counterId ;我的查询是:
{$match:{ '插入':{$gte: new Date("2013-03-21T00:00:00Z") , $lt: new Date("2013-03-22T10:00:00Z") } } , {$group : {_id:{serverId:'$serverId', counterId:'$counterId'} ,avgValue:{ $avg : '$counterValue'}}}
查找在特定日期之间插入的按 serverId,counterId 分组的平均 counterValues 。
但这需要 13 秒,我需要它必须需要 1 秒。
我怎样才能做到这一点 ?