TIDB 在模糊查询场景是否也能用到计算下推特性

like加双百分号用不到索引的,mysql也一样,这种就是全表扫描,但是过滤条件是下推了,每个tikv节点只会返回符合条件的数据,而不会返回所有的数据,让tidb-server再去过滤。
在你数据量越大,tikv节点越多的情况下,相当于很多个tikv节点并行过滤,肯定效果比mysql要好的。

有个说法是, 分布式的速度并一定比集中式快,但是扩展性要好很多。 所以是不是调整下思路, 分布式不一定快呀。

结合这个场景我在验证下

看执行计划里有cop[tikv]就是下推,尽量like时前边不加%

:joy:这两天晕了,是下推了但是走了全表扫描,怪我怪我

就算是全表扫描,其实理论上也比MYSQL快

对,因为压力分摊了

cop[tikv]意思就是在tikv上执行的。operator info里面写着like。所以这就是在tikv上执行的like算子。

1 个赞

执行计划中,是不是正常的SQL都会cop[tikv],除非用到了TIFLASH :sweat_smile:

毕竟tidb节点是无状态的没数据在上面,要么去tikv取,要么去tiflash取。
这两个都用不上的情况,我想了想可能只有缓存表了。

https://docs.pingcap.com/zh/tidb/stable/cached-tables#缓存表

嗯嗯,有道理

还有Point_Get这种场景吧?
image

1 个赞

是支持的