业务开发性能问题,循环中不使用+拼接字符串、不操作数据库

循环拼接字符串使用 StringBuilder

public String fun2(String[] arr) {
    StringBuilder res = new StringBulider();
    for(int i=0; i<10; i++) {
        res.append(arr[i]);
    }
    return res.toString();
}

详见为什么在循环中使用运算符+拼接字符串性能低下

循环中避免访问数据库

业务开发中,假设有这样一个接口需要开发,参数是一组 List 数据,你需要对每条数据统计计算并将结果保存到数据库,设计时需要避免一边处理数据一边操作数据库。

public void analysisData(List<dataBo> list) {
    for(dataBo data : list) {
        //数据处理
        dao.insertData(...);
    }
    
}

上面这样的写法在数据量很大时,会引起数据库性能问题。修改建议是将 list 处理的数据保存在内存中(如:Map中),处理完毕后批量插入数据库。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章