针对全表查询场景,Tidb分区是否可以降低内存消耗

我使用的是TiDB V6.5版本,线上数据单表达到千万级别且稳定增长。如果不可避免地需要全表查询,添加分区是否能够降低内存消耗?添加分区的话,TiDB的并行查找策略是否会根据内存情况动态调整?

另外,是否有给线上表添加分区的方法?我直接操作alter table ${name} partition 会报错unsupported。

如果单表数据达到千万级别且稳定增长,添加分区可以降低内存消耗,提高查询效率。TiDB 的并行查找策略会根据内存情况动态调整,以达到最优的查询效率。您可以使用 ALTER TABLE 命令来给线上表添加分区,具体操作请参考 Partitioning
但是需要注意的是,TiDB 目前不支持在线添加分区,需要先停止写入,然后再添加分区。此外,如果您使用的是 TiDB v6.5.0 及以上版本,您需要使用 ALTER TABLE ... ADD PARTITION 命令来添加分区,具体操作请参考 ALTER TABLE。如果您在执行 ALTER TABLE 命令时遇到了 unsupported 错误,请检查您的 TiDB 版本是否支持该命令,或者您的语法是否正确。

第一个问题,如果经常只需要查询某个分区的数据,分区肯定能提高效率减少资源消耗,开启动态裁剪功能效果更好
第二个问题,命令错了,另外6.5应该还不支持重组分区吧?一个表创建的时候不是分区表是不能增加分区的,6.7好像才可以