目 录CONTENT

文章目录

后端接口性能优化有哪些方法?

aprilz
2023-02-01 / 0 评论 / 0 点赞 / 771 阅读 / 582 字

有以下这些方法

  1. 优化索引。给where条件的关键字段,或者 order by 后面的排序字段,加索引。
  2. 优化sql语句。比如避免使用select *、批量操作、避免深分页、提升group by的效率等
  3. 避免大事务。使用@Transactional注解这种声明式事务的方式提供事务功能,容易造成大事务,引发其他的问题。应该避免在事务中一次性处理太多数据,将一些跟事务无关的逻辑放到事务外面执行。
  4. 异步处理。剥离主逻辑和副逻辑,副逻辑可以异步执行,异步写库。比如用户购买的商品发货了,需要发短信通知,短信通知是副流程,可以异步执行,以免影响主流程的执行。
  5. 降低锁粒度。在并发场景下,多个线程同时修改数据,造成数据不一致的情况。这种情况下,一般会加锁解决。但如果锁加得不好,导致锁的粒度太粗,也会非常影响接口性能。
  6. 加缓存。如果表数据量非常大的话,直接从数据库查询数据,性能会非常差。可以使用Redis 和memcached提升查询性能,从而提高接口性能。
  7. 分库分表。当系统发展到一定的阶段,用户并发量大,会有大量的数据库请求,需要占用大量的数据库连接,同时会带来磁盘10的性能瓶颈问题。或者数据库表数据非常大,SQL查询即使走了索引,也很耗时。这时,可以通过分库分表解决。分库用于解决数据库连接资源不足问题,和磁盘10的性能瓶颈问题。分表用于解决单表数据量太大,sql语句查询数据时,即使走了索引也非常耗时问题。
  8. 避免在循环中查询数据库。循环查询数据库,非常耗时,最好能在一次查询中获取所有需要的数据.b
0

评论区