我有一张包含几亿条记录的表,大约有 15 个不同的列。这些数据包括速度记录、时间戳、被跟踪车辆的 ID 和速度记录。一辆汽车可以有数十万条速度记录,大约有 40 000 种不同的车辆。
我想找到每辆车的最大速度记录。
只是查询:
SELECT userid, max(speed) from SpeedReadings group by userid
需要很多时间,所以我想优化它。我的第一个想法是使用用户 ID 和速度创建索引。查询中变量的顺序和索引表是否重要?
这两个查询之间是否存在速度差异:
SELECT userid, max(speed) from SpeedReadings group by userid
SELECT distinct userid, max(speed) from SpeedReadings