代价模型
TiDB 会计算每个索引的访问代价和计划中每个物理算子的执行代价(如 HashJoin、IndexJoin 等),选择代价最低的计划。
下面是一个简化的例子,用来解释代价模型的原理,比如有这样一张表:
由于扫描 b
的代价更低,因此 TiDB 会选择 b
索引。
上述是一个简化后的例子,只是用于做原理解释,实际 TiDB 的代价模型会更加复杂。
TiDB v6.2.0 引入了新的代价模型 Cost Model Version 2。
你可以通过设置变量 来控制代价模型的版本。
注意