上个月参与了一个系统的API调用耗时的优化。最后主要是对SQL的查询做的调整,记录如下。
1 加索引。简单直接,效果明显。
2 count(*) 调整为 count(某具体加索引且内容少的字段)
3 查询当天的数据 调整为 where to_days(create_time) = to_days(now())
4 mybatis pageHelper 分页时会默认执行一次 count() 操作, count 可能会很慢,pageHelper 支持自定义count() ,
5 mybatis 配置输出查询结果集,如果结果集有几万条,那么会很慢。
6 循环 insert 慢,改为批量 insert。
7 select 具体需要使用的字段,而不是 select *