1 个赞
要看优化器的最后计算结果吧
走全表扫描还是走索引并没有确定的比例,如果说有比例也是根据cost值算完之后,倒退的一个结果。猫兄总结的比较到位,就是优化器根据走索引算出来一个cost值,然后根据全表扫算出来一个值,最后谁的小就用哪个,优化器不关心“数据量比例”,只关心cost值。
explain format=‘cost_trace’ 这个在哪个版本才有的?在V6.5.4版本执行是,直接就报:Unknown EXPALIN format name: ‘cost_trace’ 。
https://github.com/pingcap/tidb/blob/v7.1.0/types/explain_format.go#L39
好像是从7.1开始的。6.5确实没有这个参数。
https://github.com/pingcap/tidb/blob/v6.5.0/planner/core/plan_cost_ver2.go
从6.5版本计算cost的代码上看也确实没有关于输出的处理。
好的,这个功能在慢SQL分析中还是蛮实用的
是的,我觉得可以提个文档优化。
坐等源码大佬解释~+1
很显然,大佬已经给出来源码
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。