- 【TiDB 版本】: 3.1 tiflash 3.1
- 【问题描述】:关于手动hint使用tiflash的问题 有一张订单表 bus_order_30w,其中一个索引为 lot_id;往tiflash同步了一个副本;
1.执行sql :select * from bus_order_30w ;解析计划显示是 cop[tiflash]; 2.执行sql:select * from bus_order_30w where lot_id = 1111;解析计划显示是 cop[tikv]; 3.执行sql:手动hint tiflash引擎: select /*+ read_from_storage(tiflash[bus_order_30w]) */ * from bus_order_30w where lot_id = 1111; 解析计划显示是 cop[tiflash],但是 却无法用到 lot_id 的索引;
4.执行sql:手动指定tiflash引擎,同时强制执行走 lot_id 索引 :select /*+ read_from_storage(tiflash[bus_order_30w]) */ * from bus_order_30w force index (lot_id
) where lot_id = ‘3468’; 解析计划显示 cop[tikv],同时走索引查询
疑问1:走tiflash查数据只能全表扫描吗?不能先走索引查tikv,然后从tiflash 取数据吗(因为我仅仅需要3个字段,向走tiflahs列式存储)
疑问2: 使用 ALTER TABLE bus_order_30w SET TIFLASH REPLICA 1; 同步数据时,仅仅同步bus_order_30w的数据吗,还是连同索引一起同步?