一张表两亿数据,用tidb,底层还要做分区么

一张表两亿数据,用tidb,底层还要做分区么

分区主要作用是将来删除数据方便,直接删了分区就行,tidb用delete删除很麻烦

1 个赞

取决于硬件环境,如果是标配或者超配,我觉得不需要做分区。 :thinking:

如果是日期性数据,例如每月增加2千万,且需要每过一年来清理的话,可以使用分区,方便清理;又或者,每次都只需要查询最新的一个月的数据,对应的sql都指定分区键的话,也可以使用分区,查询的时候只会扫描最新的分区。

分区可以提供维护性、效率的提升,比如直接删除分区即可删除对应数据,按range\list分区SQL正确情况下查询优化器生成的执行计划会只扫描对应分区数据,避免full scan全表扫描(非点查)这种较重操作。
再者如果需要对数据进行冷、温、热度区分以及在线、离线区分,分区表还是有必要的

1 个赞

分区…

嗯,这种大表业务我们只能做成宽表,不适合去join其他表做OLTP了吧,现在就是各种冗余做宽表,但维护数据一致性会有问题