什么类型的SQL不需要获取TSO

【 TiDB 使用环境】生产\测试环境\ POC
【 TiDB 版本】
【遇到的问题】
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

如下官方描述“在 execute 阶段,TiDB 会跟 PD 和 TiKV 进行交互。如下图所示,当 TiDB 处理 SQL 语句请求时,在进行 parse 和 compile 之前,如果需要获取 TSO,会先请求生成 TSO。”

那么什么类型的SQL不需要获取TSO?或者说什么情况下的SQL不需要获取TSO?另外SQL语句的TSO获取一般是在解析和编译之前完成的,还是与解析和编译并行完成的?


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

按道理都要TSO吧,写流程获取TSO是在解析之前,还有一次是Transaction模块

看这个表述是有些SQL不需要获取TSO

都要取得TSO,无论select 还是DML

poingget好像不需要TSO,另外获取TSO跟编译是并行做的,提高处理时效

ddl应该是不需要tso的