1、首先是去掉select *,需要那几个字段,就使用那几个字段
2、使用覆盖索,就是查询使用的字段包含在索引中
3、使用between and 来代替 > and <,可以提高很快
4、如果里面有日期的比较,如果如果类型为timestamp可以使用
UNIX_TIMESTAMP(s.time) BETWEEN UNIX_TIMESTAMP("2018-03-01 00:00:00") and UNIX_TIMESTAMP("2018-03-09 23:59:59")
进行优化查询,做好的办法是新建一个数值型字段比如int,来存储时间戳
update slabdatahistory s
set s.longTime = UNIX_TIMESTAMP(s.time)
然后使用
s.longTime BETWEEN UNIX_TIMESTAMP("2018-03-01 00:00:00") and UNIX_TIMESTAMP("2018-03-09 23:59:59")
查询会加快查询。