要返回tidb的,而且tidb-server 中不是每次获取region的位置都需要去请求pd的,为了保证效率,会有一个 region 等元数据的缓存,tidb-server是先去自己的缓存里获取region位置,拿到位置后就直接去访问数据了,这是绝大部分的情况。少数情况,如果去tikv后发现位置不对(region被merge、split),再重新去pd要最新的位置并更新缓存。
访问一个普通索引,是会发生 indexLookUp 回表访问的。通过普通索引拿到行数据的 _tidb_row_id,再根据 _tidb_row_id 回表去查整行数据。这个过程和 MySQL 里先去搜索二级索引树,再去搜索聚簇索引树,访问叶子节点拿到数据的过程有异曲同工之妙。