控制执行计划
SQL 性能调优的前两个章节介绍了如何理解 TiDB 的执行计划以及 TiDB 如何生成一个执行计划。本章节将介绍当你确定了执行计划所存在的问题时,可以使用哪些手段来控制执行计划的生成。本章节主要包括以下三方面内容:
- Optimizer Hints中,我们会介绍如何使用 Hint 来指导 TiDB 生成执行计划。
- 但是使用 Hint 会侵入性地更改 SQL,在一些场景下并不能简单的插入 Hint。在执行计划管理中,我们会介绍 TiDB 如何使用另一种语法来非侵入地控制执行计划的生成,同时还会介绍后台自动对执行计划进行演进的手段,来减轻诸如版本升级等原因造成的执行计划不稳定,而导致集群性能下降的问题。
- 最后在优化规则及表达式下推的黑名单中,我们会介绍黑名单的使用。