TIDB 的执行计划中如何查看SQL执行获取的数据是来自tikv磁盘还是内存缓存?

【 TiDB 使用环境】测试/ Poc
【 TiDB 版本】7.5
【遇到的问题:问题现象及影响】
在执行计划中如何查看本SQL执行过程中有哪些数据是通过tikv的磁盘获取,哪些是通过tikv的内存获取的,或者是否有在tidb的内存缓存中的?

例如下面的执行计划,有没有地方查看上述数据?
SQL执行计划.xlsx (9.3 KB)

1 个赞

copr_cache_hit_ratio: 0.91
参考下推计算结果缓存 | PingCAP 文档中心

rocksdb: {key_skipped_count: 410870, block: {cache_hit_count: 3001}}}

参考慢查询日志 | PingCAP 文档中心

2 个赞

我觉得是关注task列就可以了。

一种叫 root task,在 tidb-server 上执行,一种叫 cop task,在 TiKV 或者 TiFlash 上并行执行。

https://docs.pingcap.com/zh/tidb/stable/sql-statement-explain#explain-输出格式

1 个赞

RocksDB 从Block Cache 缓存中读取数据的次数。
这个次数怎么理解,是一个block size 默认64k的次数吗?

应该是32K

菜鸟学习。

是的,是我被某个帖子误导了,上面AI回复64k,实际应该是默认32k

解决了就好

执行计划如何解读值得细细研究 :thinking: