2023-05-08 反思

文章指出了凯伦易世系统中查询SQL存在的大量问题,包括查询错误、崩溃,主要源于自定义变量的复杂逻辑、查询优化不足以及代码结构混乱。多层派生表、子查询嵌套与自定义变量的组合导致了查询树分析的困难,而引擎层与SQL层代码的混淆加剧了问题的复杂性。此外,文章强调未被POC场景暴露的BUG数量可能更为惊人,解决基础稳定性和查询准确性应是首要任务。

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

  • BUG多的出奇, 查询出错和崩溃在凯伦易世的每个查询SQL里大量爆发

  • 凯伦易世的查询SQL还会继续暴漏出更多的查询崩溃和查询出错的问题

  • 之所以在凯伦易世的POC里大量暴漏问题,一方面是因为此前遇到过大量使用用户自定义变量的场景,另一方面是凯伦易世的查询SQL的复杂性, 暴漏了此前没有对复杂的查询下的问题做解决

    1. 自定义变量与select谓词的逻辑判单变量以及查询时用户自定义变量自增结合

    2. select谓词的逻辑判单变量中的表属性的值相同,但是用户自定义变量自身存在运算,导致此前的cache优化出错误的判定,由cache不进行二次计算

    3. 对查询的结果赋返回值但是赋值与属性本身的数据类型不同

    4. 多层派生表和子查询嵌套,并且与以上的场景混合,导致拆分出的查询子树以及对应的关联子查询必须逐个分析定位,并且独立的子树的正确不能保证父节点运算的正确,需要逐个节点的向上分析解决

    5. tianmu引擎层的代码与mysql/sql层的查询优化和查询执行的代码混在了一起,不仅仅是优化查询树,连运算节点的执行也是在SQL层执行,mysql/sql层的查询优化又被魔改过,导致逻辑及其诡异

  • 除了凯伦易世的查询执行的问题,由测试发现的查询出错和查询崩溃的BUG数是到了极其可怕的数量,考虑到现在大部分的问题都是由POC场景暴漏,还有更多的BUG没被发现

  • 在没解决基本稳定性和查询正确性,再搞新的东西那简直就是在错的东西上面继续加错,导致出更诡异的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟世者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值