【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
执行sql语句:
这种是走全表扫描码
,查询条件都是有索引的
【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
执行sql语句:
task 内有描述,这个全表扫描走的 tiflash,列存扫描
可能 cbo 判断,走列存扫描会快于 tikv 的行扫描,这个是否符合你的预期呢?
可以用 hint 的方式强制 cbo 走 tikv 的行扫描,可以试试
你这个是走了tiflash,如果想走tikv的索引可以指定hint,或者收集下这个表的统计信息,我看是不太准。。。
actrow 只有 3 行,看起来是走索引更好的,
可以通过加hint 的方式强制走 tikv /*+ READ_FROM_STORAGE(TIKV[rr]) */
另外统计信息不准也可能造成CBO选择错误的执行计划,可以 analyze table 之后再试试
线上环境,配置走tiflash更好还是tikv更好
无标准,要看哪个资源消耗更少,返回的信息更准确,这样可以让集群更健康
少一些 slow query
现在线上tidb,压测的时候整个查询会很慢,tidb重启查询也无法恢复,这个和走tiflash有关吗
这个一般怎么配置规则,哪些走tikv哪些走tiflash
asktug 有完整的查询调优的攻略,可以对着排查:
https://docs.pingcap.com/zh/tidb/stable/dev-guide-optimize-sql#sql-性能调优
ANALYZE table 后,在重新跑一下,单表扫,咋跑tiflash了
现在设置默认走tiflash
3q。
这样啊
谢谢!
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。