【TiDB 4.0 PCTA 学习笔记】- 2.5.5 SQL Tuning Guide(TiDB 的 SQL 性能优化指南)@1班+Kun

课程名称:2.5.5 SQL Tuning Guide(TiDB 的 SQL 性能优化指南)

学习时长:40min

课程收获:了解 TiDB 与执行计划相关的性能调优手段

课程内容:TiDB; SQL Optimization; Performance

TiDB SQL Layer:
优化器 :抽象语法树转为执行算子
统计信息 : 指导优化器选择计划
执行引擎:计算算子

Query Optimizer:
(1)Logical optimization:Max Min Elimination;Subquery Transformation;Aggregate Push Down;Join Reorder
(2)Physical optimization
(3)Index selection

Execution Tuning Guide
Execution Engine:分组读数据;算子并行化(Hash Join,Index Join,Hash Aggregate)
Hash Join:tidb_hash_join_concurrency 控制 join work数量,默认为5
Index Join:tidb_index_lookup_join_concurrency: 默认为5,控制inner workers数量;
tidb_index_join_batch_size: 默认25000,不需过多改动
Merge Join:单线程;按照join key 有序;内存消耗少
NestedLoopApply:单线程;逐行;低效
Hash Aggregate:tidb_hashagg_final_concurrency,默认4个;
tidb_hashagg_partial_concurrency,默认4个
Stream Aggregate:单线程;消耗内存少;数据需要按照key排序
Index Lookup Reader:tidb_index_lookup_concurrency,默认4个;
tidb_index_lookup_size,默认20000
控制执行计划
Hint:Index hint(use/force/igonre index),与mysql相似;注释形式使用 (/+ HINT_NAME(arg1, arg2)/)
SQL Plan Management:控制一组SQL;create binding;show binding

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料