1.批处理<br>
批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成后一次性插入或更新数据库,避免多次 IO。
例子
redis使用批量方法获取内容,避免单个重复获取
7.索引优化
索引不生效典型场景
隐式类型转换
select *
对索引进行列运算:+、-、*、 /<br>
不满足最左匹配原则<br>
使用or 关键字
not in 和 not exists<br>
order by 和搜索列不匹配<br>
使用 >、<、!=<br>
like 以通配符开头:like '%abc'<br>
9.优化程序结构
程序结构问题一般出现在多次需求迭代后,代码叠加形成。会造成一些重复查询、多次创建对象等耗时问题。在多人维护一个项目时比较多见。解决起来也比较简单,我们需要针对接口整体做重构,评估每个代码块的作用和用途,调整执行顺序。
12.锁粒度避免过粗
锁粒度:就是你要锁的范围有多大,不管是 synchronized 还是 redis 分布式锁,只需要在临界资源处加锁即可,不涉及共享资源的,不必要加锁