mongodb的分组求最大值,量太大,耗时优化?

发布于 2022-09-07 08:01:14 字数 545 浏览 16 评论 0

情形:一个表每天至少3千万条数据。一共有上千种类型。现在能不能一次快速读取上千种类型的的当天最大值,也就是当天最后记录时间那条。也许是15点。也许是23点。不定。尽可能使千种类型一次分组求出来。而不是分开每种类型,然后排序,然后取最后一条数据的方法。

db.SEC_2018_05_14.aggregate([{ $group: { _id: {dev_id: "$dev_id", data_id: "$data_id"},lastObj: { $last: "$$ROOT" } } } ,
{$project{_id:0,dev_id:"$lastObj.dev_id",data_id:"$lastObj.data_id",data_value:"$lastObj.data_value",fdate:"$lastObj.fdate"}} ]).pretty()

dev_id,data_id,fdate 是一个索引。
fdate是一个索引。

如上,虽然是走了索引,250万要五六秒,我想如果是3千万,会用时不少。

有什么好的办法可以秒出吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

审判长 2022-09-14 08:01:14

请到Mongoing中文社区微信公众号后台获取交流群进群方式,群内交流

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文