空气质量小时索引顺序先站点后时间
索引情况
根据时间范围查询索引失效
EXPLAIN
SELECT station_code, station_name, data_time, aqi, pm25, pm10, o3, no2, so2, co, primary_pollutant, create_date
FROM wuhaiyizhangtu.t_air_pollution where data_time between '2022-12-01 14:00:00' and '2022-12-01 15:00:00'
以上sql执行时间200ms
最大时间,有索引,扫描行rows很高
EXPLAIN
SELECT max(data_time)
FROM wuhaiyizhangtu.t_air_pollution
11
空气质量小时索引顺序先时间后站点
索引情况
根据时间范围查询索引有效
EXPLAIN
SELECT station_code, station_name, data_time, aqi, pm25, pm10, o3, no2, so2, co, primary_pollutant, create_date
FROM wuhaiyizhangtu.t_air_pollution where data_time between '2022-12-01 14:00:00' and '2022-12-01 15:00:00'
以上sql执行时间76ms
最大时间,覆盖索引
查询不能用公式,不走索引
字段长度与类型问题
原数据库设计
原数据库大小156m,日数据不需要小时,类型type不会超过2位99类,conc字段贡献值为小数也不长
修改后数据大小为:38m
- data_time字段改成datatime
- conc从varchar(50)改成float(15,10)
- pollutant_type从int改成TINYINT
- 最后一个字段改成data
是否null
关联索引是否影响
varchar影响
影响内存
int
浮点型与整形的类型选择