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

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

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

chenBJ
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 16

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

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

感觉这种场景可以使用到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周前 评论

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

2周前 评论

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

2周前 评论
playmaker

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

2周前 评论

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

2周前 评论

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