在一张单表5000W数据上进行数据查询时传入两个单列索引条件,进行组合索引查询时,如果最后有order by id排序,与去除该排序,性能差距接近两个数量级
结论:在使用列的默认排序时,不应该再order by该列
顺便再记录一下遇到的其他SQL性能问题:
1, limit a,b 在a值过大时,也会导致性能严重下降,解决方案是获取到一批数据之后拿到最大的ID,然后在查询条件中加入>该ID 这样只需要limit一次获取的数量即可
2,条件更新时,如果数据量过大,先使用该条件进行查询得到要修改的列主键,再以主键为条件进行更新条件能提高性能