一个处理数据的需求,目前已经实现出来了,测试提出性能太低,所以请教一下,看看有没有比较好的处理实现方式,目前实现 sql 处理一部分,代码处理一部分
环境:Java1.8 Mysql 8
需求
[td]type[/td]
[td]value[/td]
[td]date[/td]
1
10.111
2023-03-21 01:00:00
2
19.111
2023-03-21 01:00:00
2
11.111
2023-03-21 02:00:00
3
12.111
2023-03-21 02:00:00
1
13.111
2023-03-22 11:00:00
1
14.111
2023-03-22 12:00:00
1
15.111
2023-03-23 11:00:00
一张数据库表,如上, 用户根据某种类型添加数据,type 类型固定的 1-3,按日期插入数据,日期会重复因为是用户手动选择;
目标需求:按日期(yyyy-MM-dd)分组+倒序,每个类型查出最新的一条;
如上表数据,最终预期输出为:
{
"2023-03-21": [{
"type": "1",
"value": "10.111",
"date": "2023-03-21 01:00:00"
}, {
"type": "2",
"value": "11.111",
"date": "2023-03-21 02:00:00"
},
{
"type": "3",
"value": "12.111",
"date": "2023-03-21 02:00:00"
}
],
"2023-03-22": [{
"type": "1",
"value": "14.111",
"date": "2023-03-22 12:00:00"
}],
"2023-03-23": [{
"type": "1",
"value": "15.111",
"date": "2023-03-23 11:00:00"
}]
}
ps: 上述需求是接口里 1/5 的功能,还有后续处理
Ps: 代码简洁,支持使用第三方库