TiFlash的选择是自动的还是手动的呀

问一下各位专家,集群中同时存在TiKV和TiFlash,前端一个SQL发下来,TiDB是根据SQL复杂程度自动选择到哪一种存储引擎查询,还是手动去调用呀?

不是 SQL 复杂程度,是根据 SQL 相应资源计算的代价,去做选择

所以,相关的表还会有统计信息的收集,帮助CBO去做决定

参考文档:
https://docs.pingcap.com/zh/tidb/stable/sql-faq#tidb-是否支持基于-cost-的优化-cbo如果支持实现到什么程度
https://pingcap.com/zh/blog/tidb-source-code-reading-8
https://docs.pingcap.com/zh/tidb/stable/use-tiflash#使用-tidb-读取-tiflash

1赞

默认是优化器根据Cost自己选择的,也可以通过引擎隔离或者hint的方式进行人工干预

1赞