执行update操作通过主键更新数据,耗时1.2秒,执行计划中“Prewrite 阶段耗时”和“Commit 阶段累计 Backoff 耗时”为1.2秒

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】

【概述】 场景 + 问题概述

通过主键更新数据,数据量32万,表采用自增主键AUTO_INCREMENT

【背景】 做过哪些操作

updateByID

【现象】 业务和数据库现象

单个update语句耗时1.2秒。

【问题】 当前遇到的问题

查看执行计划。



【业务影响】

拖慢接口速度

【TiDB 版本】

v5.4.0

【应用软件及版本】

【附件】 相关日志及配置信息

  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息

监控(https://metricstool.pingcap.com/)

  • TiDB-Overview Grafana监控
  • TiDB Grafana 监控
  • TiKV Grafana 监控
  • PD Grafana 监控
  • 对应模块日志(包含问题前后 1 小时日志)

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

backoff 耗时 一般都是 锁冲突,或者 region 被分裂后,转到了新的 store,需要定位新 store 的耗时

你可以观察看看

如果是自增主键的话,会不会是主键热点?

该sql不是每次都慢,基本都很快。偶尔几次会慢。通过分析执行计划,慢的情况下执行计划中actRows会是2。快的情况下执行计划actRows是1.

id列的自增主键吗? 为什么一个条件能更新2行呢

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。