mysql 单表查询优化

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")

查询会加快查询。

你可能感兴趣的:(mysql 单表查询优化)