【 TiDB 使用环境】测试
【 TiDB 版本】V6.5.0
【遇到的问题:问题现象及影响】可以指定分区表的某个分区创建tiflash副本嘛?有个场景:分区表A需要同placement rule 进行冷热数据分存储。分区表A牵扯到复杂的查询包含join,in各类分析场景,希望使用tiflash进行加速,但是只针对热数据进行分析。
好像不支持分区单独指定tiflash replica,不过你全表指定,扫描指定分区的时候不会扫描到冷数据的tiflash副本吧
道理是这个道理,就是感觉数据冗余的厉害
或者通过placement rules指定对应分区添加指定副本试试?
https://docs.pingcap.com/zh/tidb/v6.5/configure-placement-rules#场景三为某张表添加-2-个-tiflash-learner-副本
还是不行耶,只能定位到整表的数据,不能定位到分区数据。或者有没有分区平移从A表平移到A_history 这样操作嘛,这样其实也可以
那肯定有啊,
ALTER TABLE partitioned_table EXCHANGE PARTITION p1 WITH TABLE non_partitioned_table
这个也不行啊,有了tiflash 就不能执行echange 了
需要全表做。
两个分区大表可以随意join?性能高么
https://github.com/pingcap/tidb/issues/17918
有tiflash的情况下不能使用EXCHANGE PARTITION是个bug。
对应的issue已经close了。
当然原来的issue说的是两个表都有tiflash replica还不能使用EXCHANGE PARTITION。
你现在的情况,可能是一个表有tiflash replica,另一个表没有。我觉得你可以考虑做一段最小复现sql,在提交一个issue试试看。
btw, github issue 也是支持markdown的,建议修改一下格式,可以给issue提速哦~
哈哈哈哈,确实
non_partitioned_table 也需要创建TiFlash 副本
毕竟是两回事,exchange出去就变成单表了,楼主的需求是想只给某个分区建TiFlash副本,还保留分区表的组织形式。
是的,目前可能不存在好的解决方案。 只能退而求其次,例如删除分区,或者使用更多的资源支持2个表的TiFlash副本