代价模型

    TiDB 会计算每个索引的访问代价和计划中每个物理算子的执行代价(如 HashJoin、IndexJoin 等),选择代价最低的计划。

    下面是一个简化的例子,用来解释代价模型的原理,比如有这样一张表:

    由于扫描 b 的代价更低,因此 TiDB 会选择 b 索引。

    上述是一个简化后的例子,只是用于做原理解释,实际 TiDB 的代价模型会更加复杂。

    TiDB v6.2.0 引入了新的代价模型 Cost Model Version 2。

    你可以通过设置变量 来控制代价模型的版本。

    代价模型 - 图2

    注意