
1.批量操作数据库
2.异步执行,降低接口耗时,可以使用线程池或消息队列。
3.使用缓存,把要查的数据,提前放好到缓存里面,需要时,直接查缓存,而避免去查数据库或者计算的过程。
4.提前初始化到缓存,避免一些复杂的计算的耗时。
5.池化思想,使用线程池,重复利用线程,避免不必要的耗时。
6.拒绝阻塞等待。
7.远程调用由串行改为并行。
8.锁粒度避免过粗,影响接口性能。
9.压缩传输内容。
10.数据太大,先用文件的方式暂存,之后再异步下载文件,慢慢保存到数据库。
11.SQL添加索引
12.SQL优化
13.使用@Transactional
14.深分页问题
15.优化程序结构
16.海量数据考虑NoSQl
17.合理的线程池设计
18.机器问题(fullGC,线程打满,太多IO资源没关闭等等)