2022-09-07 mysql/stonedb-查询优化器逻辑记录及优化器魔改

本文记录了STONEDB引擎如何使用MySQL的查询优化器,特别关注了JOIN::optimize函数中part参数设为1的情况。文章探讨了为何在TIANMU UPGRADE中停止后续查询优化,并对part的语义变化进行了讨论。同时,指出了make_join_plan的join优化在新逻辑下无法执行的问题,以及IN子查询转换为EXISTS的代价计算过程。

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

 

摘要:

记录STONEDB对于mysql的查询优化器的使用

逻辑关系:

调用堆栈:

(gdb) bt
#0  JOIN::optimize (this=0x7fb23804e600, part=1 '\001') at /home/jenkins/workspace/stonedb5.7-zsl-centos7.9-75-131-20220805/sql/sql_optimizer.cc:296
#1  0x0000000002c70a23 in Tianmu::core::optimize_select (thd=0x7fb238002c10, select_options=2147748608, result=0x7fb238011940, select_lex=0x7fb238007da0, 
    optimize_after_tianmu=@0x7fb468da9d0c: 1, free_join=@0x7fb468da9d10: 1) at /home/jenkins/workspace/stonedb5.7-zsl-centos7.9-75-131-20220805/storage/tianmu/core/engine_execute.cpp:352
#2  0x0000000002c702d6 in Tianmu::core::Engine::HandleSelect (this=0x5df8fd0, thd=0x7f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟世者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值