前提条件
数据表 有saler和time两个索引
优化前
SELECT round(sum(value), 2) AS value, count(*) AS numberFROM `2021_xxxxxx` WHERE saler = 'xxxxx' AND time > '2021-07-13'
优化后
SELECT round(sum(value), 2) AS value, count(*) AS numberFROM `2021_xxxxxx` WHERE time > '2021-07-13'
特别注意:下面这种写法还是没有用
SELECT round(sum(value), 2) AS value, count(*) AS numberFROM `2021_xxxxxx` WHERE time > '2021-07-13' and saler = 'xxxxx'
业务中saler非必要条件,可以去除,去除后从1.5s左右优化到15ms左右,提升100倍
当然如果符合条件的数据量过多,效果不会这么明显。
综上:等于条件也不要乱加。