-- 为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');