一个外包同事,插入 200 条数据,调用了四万次人员查询接口

2023-09-22 11:44:56 +08:00
 murmur

插入数据要求工号转 ID 这个步骤,让他调接口去查这个映射,实际上这个查询也不慢,100ms ,反正是一次性操作,这个数据迁移做了再就不做了,查库查表区别不大

相关的公司只有 200 多人

按一个记录审批人+干系人 10 个人(很多了,一般流程才五六个节点)算,不缓存,200 条数据也就 2000 次调用

这个 4w 次我至今没想明白是怎么弄出来的,但是我终于明白 200 条单表操作 1 个小时没做完的原因了

整个逻辑是这样 ( 1 ) A 系统查询待办主表数据-A 系统查询审批记录(平均 1 个单 5 个流程节点)-查询 A 系统的人员工号-查询 B 系统的工号 ID 映射-插入最终数据(拼接为一条,这里插入是不涉及子表的)

不是有人再说怎么挖坑还不留痕迹么

多跟外包学学自然就会了

12711 次点击
所在节点    程序员
96 条回复
AoEiuV020JP
2023-09-22 11:49:07 +08:00
见过类似的,不过我这边是安卓客户端所以影响不大,埋了好多年的坑后来优化的时候发现的,
就是 for 循环判断里的 i < getData().size(), 循环节里还有一堆 getData().get(i), 然后这个 getData()里面是完整读数据库,
coffeygao
2023-09-22 11:52:56 +08:00
常规操作,我也遇到过。拼凑一个数组,三层嵌套里面全是 select 哈哈哈哈
lincanbin
2023-09-22 11:54:21 +08:00
合格程序员其实是凤毛麟角的存在。
onikage
2023-09-22 12:26:45 +08:00
强调外包同事啥意思?显得自己一些?
Daniel17
2023-09-22 12:27:30 +08:00
这跟外不外包没关系吧
murmur
2023-09-22 12:34:35 +08:00
@onikage 因为是实事求是
Narcissu5
2023-09-22 12:35:32 +08:00
其实很多公司的大数据需求就是这么来的,你想如果查询接口每次都记录日志,一下子就有 40000 条数据可以分析了
murmur
2023-09-22 12:36:50 +08:00
@Narcissu5 你倒是提醒我了,我还得去清理日志表,别到时候日志爆了,本身就是边角料日志部分设计的没有主表日志那么完善
coderluan
2023-09-22 12:37:52 +08:00
如果楼主的逻辑成立,那责任人也应该是决定用外包的领导,或者给这个外包面试通过的同事哦。
Badlink
2023-09-22 12:45:38 +08:00
逻辑没太懂,是说 “A 系统查询待办主表数据-A 系统查询审批记录(平均 1 个单 5 个流程节点)-查询 A 系统的人员工号” 这部分调了 count(代办住表数) * count(审批记录) * count(A 系统人员) 这些次数?
nothingistrue
2023-09-22 12:50:00 +08:00
这种错误,你只要搞代码评审,或者结对编程,那就很难出现。不把代码评审计入成本时间,或者把成本挤到下班时间,那就别怪搞出来神仙代码。
TWorldIsNButThis
2023-09-22 13:05:54 +08:00
就是没做 batching ?
bk201
2023-09-22 13:11:55 +08:00
人家就是混口饭吃,也是朝不保夕,被开了还没赔偿,你还能对对方有什么要求。只能怪公司为了节省成本坑正式员工。
hxy2856
2023-09-22 13:19:28 +08:00
@bk201 被开了没赔偿好惨
shmilypeter
2023-09-22 13:52:15 +08:00
估计是连了几张表导致笛卡尔积乘了几次
gaifanking
2023-09-22 13:55:51 +08:00
盲猜 200x200=4w
devopsdogdog
2023-09-22 13:56:05 +08:00
😏你就说能不能用吧!
6c67461c562bdc
2023-09-22 13:58:45 +08:00
好奇。。为什么要外包?不就是为了有个背锅的吗?现在不就是背锅时刻?只不过不知道为什么要喷他。。。。
kangmang92
2023-09-22 14:01:59 +08:00
你优化优化不就来了 kpi 吗
xingjue
2023-09-22 14:23:48 +08:00
合格程序员其实是凤毛麟角的存在。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/976149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX