面试题:TiDB中用于优化数据读取性能的机制包括()

A. 索引
B. 缓存
C. 预读
D. 以上都是

AB 预读好像没听过

1 个赞

D. 以上都是
预读,预加载相邻数据块

1 个赞
A. 索引:索引是数据库中常用的优化技术,通过创建索引可以加快查询速度,减少数据扫描的范围。TiDB支持索引,包括主键索引、唯一索引和二级索引,所以索引肯定用于优化读取性能。

B. 缓存:缓存是将频繁访问的数据存储在快速存储中(如内存),以减少磁盘I/O。TiDB有缓存机制吗?TiDB使用TiKV作为存储引擎,TiKV有RocksDB作为底层存储,并且有Block Cache来缓存数据块。此外,TiDB本身有查询结果缓存吗?在TiDB中,有TIDB_TIKV模块,并且TiKV有缓存,所以缓存是用于优化读取性能的。

C. 预读:预读(prefetch)是一种技术,通过预先读取可能需要的数据来减少等待时间。在TiDB中,TiKV有预读机制吗?TiKV使用RocksDB,而RocksDB支持预读选项。此外,在TiDB的查询处理中,可能也有预读策略来优化扫描操作。所以预读也应该是一个优化机制。

既然A、B、C都是正确的,那么D. 以上都是应该是最佳答案。

1 个赞

上上下下 abab

D. 以上都是

1 个赞

yes

对滴~

you are right

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。