TiDB如何区分一条SQL是OLTP或者OLAP?

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

【附件】 相关日志及监控(https://metricstool.pingcap.com/)


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

这个具体是看业务的,tidb能做的也是配合tiflash 成本估算如果是很少列的查询跟计算如果走tiflash 代价更低,会走列存查询

当创建完TiFlash副本的表后,TiDB 优化器会自动根据代价估算选择是否使用 TiFlash 副本。

使用时尽量保证统计信息的准确性,如果统计信息准确,但是执行计划还是没走更高效TiFlash,可以手工指定hint,或者调小tidb_opt_seek_factor参数,让优化器倾向于选择 TiFlash。

1 个赞

https://docs.pingcap.com/zh/tidb/v6.0/use-tiflash#使用-tidb-读取-tiflash
TiDB 优化器会自动根据代价估算选择是否使用 TiFlash 副本
或者按照业务人工强制 TiDB 对于某张或某几张表使用指定的tiflash副本。
从SQL本身应该是区分不出来的

1 个赞

确实SQL本身很难区分出来

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