代码优化?在性能和代码整洁上来说

求一门慕课网的【实战课】Vue 实战商业级读书Web APP 全面提升技能或者其他实战课程

这种代码如果优化主要优化哪?考虑性能和代码整洁上

chenBJ
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 22

不知道,這段代碼是什麽用途。不過我覺得最好不要用for循環去調用數據庫。而且批量插入要比單挑插入性能要好很多(完全可以先用一個數組保存要插入的數據,最後在一次性插入數據庫)
而且

$a = ['a' => 'a','b' => 'b'];
# 我更傾向于這種格式
$a = [
    'a' => 'a',
    'b' => 'b'
]
2年前 评论
GDDD 2年前
j90s5520 2年前
SammlHui 2年前
nbutluo 2年前

感觉这种场景可以使用到firstOrCreate,不过还是建议大佬有时间还是重写这部分吧

2年前 评论
chenBJ

@yaoxs @Horizon 嗯今天看群里有问的感觉以后自己也会遇上拿出来集思广益了哈哈

2年前 评论

数组那种看着不难受吗 :relieved:

2年前 评论

一时半会也说不完呐

2年前 评论

语义还是不错的,没什么可优化的。

2年前 评论

不必要的空行删掉,数组整理一下写成@yaoxs 的方式,就差不多了

2年前 评论

不是完全理解业务场景,有一个想法不确定可行, 目前发现 where()->find() 的查找条件只有 beginTime 和循环的数据有关系,如果 beginTime 的重复项比较多,那么:

  1. 一次或者分次查询数据库是否有旧的数据 olds
  2. 从数组构造新的数据 news
  3. oldsnews 做比较,判断哪些数据需要插入、更新或删除(当前业务场景应该只有插入)
  4. 执行插入、更新或删除操作。
2年前 评论

fileC378B100-0641-43CA-BA6C-B08262FCA285.png 试试这样的写法,还可以进一步优化 :stuck_out_tongue_closed_eyes:

2年前 评论
danran199231 2年前

数组格式看起来不舒服,循坏操作数据库性能不好。

2年前 评论

代码写的太差了,跟大一学生一样

2年前 评论
playmaker

$where条件参数 $data 参数 firstOrCreate($where, $data) OR updateOrCreate($where, $data) 可以根据需要优化

2年前 评论

循环插入数据库不觉得操作数据库次数太多吗?你为啥不先把要插入的数据组装起来,然后一个 insert 就行了啊

2年前 评论
danran199231 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!