为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
生产环境
【概述】 场景 + 问题概述
多表关联查询,查询的数据量很少,但是查询很慢,对比mysql
【背景】 做过哪些操作
更新过统计信息
【现象】 业务和数据库现象
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
v 5.2,3
【应用软件及版本】
使用了navicate
【附件】 相关日志及配置信息
查询结果
执行计划
对比mysql结果
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
生产环境
【概述】 场景 + 问题概述
多表关联查询,查询的数据量很少,但是查询很慢,对比mysql
【背景】 做过哪些操作
更新过统计信息
【现象】 业务和数据库现象
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
v 5.2,3
【应用软件及版本】
使用了navicate
【附件】 相关日志及配置信息
查询结果
对比mysql查询结果,慢了很多。
与期待的相关很大。
那就用 Mysql 不就好了~
a表的personid应该没有索引,需要添加上。另外如果B表的b.scheduledate,b.personid没有索引则添加索引,如果有则对A表做统计信息搜集。
老兄能否贴下mysql的执行计划看看?
这个原因很多的,能否看下执行计划
执行计划在上面图中
大实话,规模不够的话, tidb 的效率是不如mysql 的 …
大表都是几千万的数据
用户提供的这些场景,不正是tidb需要提升的地方吗
还是tidb不关注这些点。。。
执行计划显示不全,搞个文本脱敏上传一下吧。
看你提供的执行计划,数据量并不是太大… 还是全表扫描
就是tidb针对这个SQL,并未选择最优的执行计划
提供一下 explain analyze 的结果,主要看下 actRows 和 execution info。
注意:explain analyze 会真实执行
好的,稍等啊
特意另了tiflash 节点,效果也不大
慢在A表上,看估算的数据不是很准,这个表的统计信息看一下。
SHOW STATS_HEALTHY A