-- 为tb_vehicle_gps表的collect_time字段添加索引
-- 用于优化GPS分段里程计算时的查询性能,避免全表扫描导致超时

-- 检查索引是否已存在(MySQL 5.5兼容语法)
-- 如果索引已存在,请忽略下面的CREATE INDEX语句

-- 添加collect_time索引(用于时间范围查询)
CREATE INDEX idx_collect_time ON tb_vehicle_gps(collect_time);

-- 添加vehicle_id和collect_time的复合索引(用于单车辆时间范围查询)
CREATE INDEX idx_vehicle_collect_time ON tb_vehicle_gps(vehicle_id, collect_time);

-- 索引说明:
-- 1. idx_collect_time: 用于selectActiveVehicleIds查询,加速按时间过滤
-- 2. idx_vehicle_collect_time: 用于selectGpsDataByTimeRange和selectUncalculatedGps查询
--    按车辆ID+时间范围查询时可显著提升性能

-- 验证索引创建成功
SHOW INDEX FROM tb_vehicle_gps WHERE Key_name IN ('idx_collect_time', 'idx_vehicle_collect_time');
