tidb查询不稳定,同一条sql,在什么情况下会查询耗时差异比较大,表数据量900万多

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0.6
  • 【问题描述】:tidb在高峰期查询,同一条sql会变慢,例如,高峰期7919毫秒,但是我把sql单独抠出来在客户端执行确是64毫秒,有哪些情况会引起这种差异?
  • 【sql】select * from category where id in (‘1231233’,‘623414’)

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

影响的因素比较多:单条在客户端执行快,并发高时执行慢,可能是热点问题导致的慢或者有读写冲突,这两种问题可以在论坛搜一下,有类似的排查思路。另外如果应用端跟 DB 不再一个机房,也可能因为网络问题导致慢。

您好:

  1. 请问单条sql是在低峰期运行的吗?
  2. 麻烦取一下,运行慢时的 explain analyze sql 和 单独运行时的explain analyze sql —排查执行计划是否相同 https://pingcap.com/docs-cn/stable/reference/performance/understanding-the-query-execution-plan/#使用-explain-来优化-sql-语句
  3. 如果执行计划相同,反馈运行慢时的监控信息

(1)、chrome 安装这个插件https://chrome.google.com/webstore/detail/full-page-screen-capture/fdpohaocaechififmbbbbbknoalclacl

(2)、鼠标焦点置于 Dashboard 上,按 ?可显示所有快捷键,先按 d 再按 E 可将所有 Rows 的 Panels 打开,需等待一段时间待页面加载完成。

(3)、使用这个 full-page-screen-capture 插件进行截屏保存