2023-05-25 最近的一个客户POC的反思

文章讲述了在处理客户POC时遇到的数据库查询问题,主要涉及数据类型不匹配导致的错误。在查询SQL中,给属性赋值的数据类型与列属性不符,尤其是在UNIONALL场景下。经过分析,问题的关键在于找到并转换数据类型。此外,文章还讨论了技术团队中出现的拖延现象和能力问题,指出快速决策和学习的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:
 

最近在遇到一个客户的POC的问题,其中经历诸多有意思的事情, 有必要记录一下,以作为后续创业所要避免的地方。

客户POC出现的问题:

  1. 查询SQL中, 存在给查询到的列属性赋值的情况
  2. 给属性的赋值的数据类型,和列属性的数据类型,不匹配,比如给整形的属性赋值字符串
  3. 在所做的项目中,数据库对于查询,从myql/sql层,到列引擎层, 有一次的查询语法树的转换
  4. 在最开始暴漏出的问题中, 存在union all场景下无法赋值,但是在union场景下却能赋值
  5. 对于union all的场景, 已经被解决,解决方案也比较简单,重点在于找到数据类型不一致的地方,然后使用要赋值的类型,做一次数据类型的转换
  6. 到此为止,唯一遗留的, 便是加上order by之后, 导致查询结果出错
  7. 对于order by, 此时是对temp table做处理, 在昨晚排序之后,会将元组进行一次给sender的传递, 此时存在拿列属性的操作, 而此时, 仅仅是依据列的属性做取值, 而没有考虑到给列赋值的数据的类型
  8. 通过以上的分析, 可以发现最麻烦的并不是具体的修复,而是找到列属性和给列赋值的值的相关信息,这要考虑到对于查询语法树本身的结构

在解决过程中的问题

一. 技术团队中的拖延现象大大出乎我的意料

  1. 此处如果仅仅归因于态度问题,是无法解释的
  2. 更多的,是做这事情的人的能力问题,具体可以理解为:
    1. 对现有代码的熟悉程度
    2. 对问题的敏感度, 也就是从现象关联到代码的能力

二. 能力问题

  1. 此处再次提出能力问题, 就不仅仅是对代码熟悉本身了
  2. 此处也包括从现有信息做出更快决策,以及从他人身上学习的能力
    1. 考虑到我已经将问题的重点给出,依然是徘徊,那么就必须理解为此人无法从他人身上学习
    2. 由于无法从他人身上学习,那么就必须从零开始做摸索,导致大量的耗时在摸索上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值